The OpenD Programming Language

serdeGetAnnotationMembersIn

template serdeGetAnnotationMembersIn (
T
) {
static if(isAggregateType!T)
enum string[] serdeGetAnnotationMembersIn;
static if(!(isAggregateType!T))
enum string[] serdeGetAnnotationMembersIn;
}

Examples

struct S
{
    double data;

    @serdeAnnotation
    string a;
    @serdeAnnotation @serdeIgnoreIn
    string b;
    @serdeAnnotation @serdeIgnoreOut
    string c;
    @serdeAnnotation @serdeIgnore
    string d;
}

static assert(serdeGetAnnotationMembersIn!int == []);
static assert(serdeGetAnnotationMembersIn!S == ["a", "c"]);

Meta