The OpenD Programming Language

serdeHasAlgebraicAnnotation

template serdeHasAlgebraicAnnotation (
T
) {
static if(isAggregateType!T || is(T == enum))
static if(hasUDA!(T, serdeAlgebraicAnnotation))
enum serdeHasAlgebraicAnnotation;
static if(isAggregateType!T || is(T == enum))
static if(!(hasUDA!(T, serdeAlgebraicAnnotation)))
enum serdeHasAlgebraicAnnotation;
static if(!(isAggregateType!T || is(T == enum)))
enum serdeHasAlgebraicAnnotation;
}

Meta