If you just want to not repeat fields and methods you can use alias this or mixins: https://run.dlang.io/is/0UkjTe
On Wed, Oct 11, 2017 at 2:07 PM, drug via Digitalmars-d-learn < digitalmars-d-learn@puremagic.com> wrote: > 11.10.2017 14:37, ANtlord пишет: > > Hello dear community! >> >> I've met a little issue. How can I generate struct or class copying some >> fields and methods from another struct or class? I've found methods to get >> fields. They are std.traits.FieldNameTuple and std.traits.FieldTypeTuple >> but I can't find a method allows getting methods from struct or class. >> >> Other words I want to get fields and methods by string values and copy >> them to my struct. Is it possible? Or do I want something strange? >> >> Thanks in advance. Sorry if my English is not clear. >> > You need a wrapper, but it would include all fields and methods from base > struct/class and you just expose only that you need. So it's quite possible > except I don't known how you can exclude needless fields. > But FieldNameTuple etc are not enough, your best friend is > __traits(allMember, ...), iterating over its output and making decision > what current symbol is and processing it according to its features. It's > not trivial but not very complex. >