Reset all Members of a Aggregate Instance

Observer via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Dec 5 01:32:46 PST 2015


On Thursday, 3 December 2015 at 21:04:00 UTC, Nordlöw wrote:
> Given
>
>     class C
>     {
>         // lots of members
>     }
>
> and a function
>
>     f(C c)
>     {
>     }
>
> is there a generic way, perhaps through reflection, to reset 
> (inside f) all members of `c` to their default values? 
> Something along
>
>     foreach(ref member; __traits(allMembers, c))
>     {
>         member = typeof(member).init;
>     }

Won't clear(c); do the trick?  ((pp187-188 of TDPL)


More information about the Digitalmars-d-learn mailing list