On 07/26/2016 09:30 PM, ParticlePeter wrote:
So how can I achieve my goal the right way?

Here's one with CTFE:

----
void processMember(T, ignore...)()
{
    import std.algorithm: canFind, filter;
    import std.meta: aliasSeqOf;

    enum selectedMembers = aliasSeqOf!(
        [__traits(allMembers, T)].filter!(m => ![ignore].canFind(m))
    );

    foreach (member; selectedMembers)
    {
/* process member here, generate e.g. setter function as string mixin */
    }
}
----

Reply via email to