xxxxxxxxxx
void main()
{
struct Row
{
!Row((ref Row r, scope SinkT s){ s("test"); })
uint fileSize;
}
auto formatters = parseRowInfo!Row;
}
alias SinkT = void delegate(const(char)[]);
alias Formatter(Row) = void delegate(ref Row row, scope SinkT sink);
struct Column(Row)
{
Formatter!Row formatter;
}
Formatter!Row[] parseRowInfo(Row)()
{
import std.traits;
Formatter!Row[] formatters;
alias symbols = getSymbolsByUDA!(Row, Column!Row);
foreach(i; 0..symbols.length)
{
formatters ~= getUDAs!(symbols, Column!Row)[0].formatter;
}
return formatters;
}