Challenge

Temtaime via Digitalmars-d digitalmars-d at puremagic.com
Mon Oct 3 07:21:57 PDT 2016


On Monday, 3 October 2016 at 13:19:19 UTC, Manu wrote:
> Fill in the blank...
> I'm having a really hard time with this. I've made it work with 
> a
> mountain of code, and I want to see what others come up with...
>
> [...]

Dere's a typo

static assert( isStaticMember!(S, "iosm"), "!");

Should be iosf

Easy:

template isStaticMember(T, string member)
{
	static if(__traits(compiles, &__traits(getMember, T, member)))
	{
		static if(is(FunctionTypeOf!(__traits(getMember, T, member)) == 
function))
		{
			enum isStaticMember = isFunctionPointer!(__traits(getMember, 
T, member)) || isDelegate!(__traits(getMember, T, member)) || 
__traits(isStaticFunction, __traits(getMember, T, member));
		}
		else
		{
			enum isStaticMember = true;//!is(typeof(__traits(getMember, T, 
member).offsetof));
		}
	}
	else
	{
		enum isStaticMember = false;
	}
}


More information about the Digitalmars-d mailing list