How to implement `isTemplate` traits?

Biotronic simen.kjaras at gmail.com
Wed Oct 4 09:54:01 UTC 2017


On Wednesday, 4 October 2017 at 09:32:31 UTC, drug wrote:
> I need to separate templates:
> ```
> foreach(member; __traits(allMembers, V))
> {
> 	static if (__traits(compiles, { auto _val = 
> &__traits(getMember, value, member); })
> 	{
> 		// a template needs to be instantiated to be addressable, so 
> it works, but I think it's dirty hack instead of dry and clean 
> way...
> 	}
> }
> ```
> May be phobos has such traits somewhere?

template isTemplate(T...) if (T.length == 1) {
     enum isTemplate = __traits(isTemplate, T[0]);
}

--
   Biotronic


More information about the Digitalmars-d-learn mailing list