How to get struct's members ?
bioinfornatics via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri May 23 06:46:21 PDT 2014
On Friday, 23 May 2014 at 01:17:18 UTC, bioinfornatics wrote:
> Dear,
>
> I would like to get struct's members and zip them with an action
>
> as
>
> struct A
> {
> int a;
> int b;
> }
>
> std.range.zip( __traits( allmembers, A ), [(x) => x == 0, (y) =>
> y > 3] );
>
> like this i could apply an action to each field.
>
> I tried this:
> http://dpaste.dzfl.pl/747799ffa64e
>
> but:
> tuple get by allmembers is not an input rage then i can't to
> use
> zip
> allmembers return both fiels and method while i would like
> only
> fields
>
> thanks
I change a little my mind to ease the usage.
Maybe using annotate/attribute on members will be better as:
struct A
{
@Parser(
start = "( word ) => word[0] == '>'",
end = "( word ) => word[0] == '\n'" )
string header;
}
but it seem we can't use curstom annotation in D and mxin in this
case are not easy.
More information about the Digitalmars-d-learn
mailing list