On Friday, 1 September 2017 at 18:06:04 UTC, Jonathan M Davis
wrote:
[...]
You can use std.meta.Filter if you need to filter anything out
of an AliasSeq like this, and whether you should be filtering
out those functions is highly dependent on what you're doing -
e.g. sometimes, you really want to get your hands on __ctor,
whereas other times, that's not at all what you're looking for.
But because it gives you everything, you have a choice, whereas
if they were filtered out, then any code that needed to know
about them would be screwed.
- Jonathan M Davis
I'm working on a runtime reflection library, so there won't be
any access to the actual type. Any access to constructors will
have to be done through an interface like these:
class Struct : Reflection {
size_t size() const;
void construct(void[] mem);
}
class Class : Reflection {
Object createInstance() const;
}
The library is basically done, but needs polishing. Also, I'm
stuck waiting for things like __traits() being allowed to bypass
protection, which was recently decided upon, but not yet
implemented (hopefully this hasn't been overturned again).
Thanks