Search elemnt in Compile-time Argument List of strings

ag0aep6g via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jul 27 02:55:36 PDT 2016


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 */
     }
}
----


More information about the Digitalmars-d-learn mailing list