GetOverloadedMethods

JS js.mdnq at gmail.com
Thu Jul 18 15:47:02 PDT 2013


module main;
import std.stdio;

interface A
{
	final void Afoo() { }
	void bar();
}

class B  : A
{
	final void Bfoo() { }
	void bar() { }
	void doo() { }
}

class C : B
{
	//override void bar() { }
	override void doo() { }
         void doo(int x) { }
}

int main(string[] argv)
{

	pragma(msg, GetOverloadedMethods!B);
	pragma(msg, GetOverloadedMethods!C);

    return 0;
}

GetOverloadedMethods comes from std.traits. It returns toHash, 
toString, opCmp, etc...

tuple(bar, doo, toString, toHash, opCmp, opEquals)
tuple(doo, doo, bar, toString, toHash, opCmp, opEquals)

Is there a way to get only the overridden implemented methods?

GetOverloadedMethods!B gives only bar and doo
GetOverloadedMethods!B gives only doo and doo




More information about the Digitalmars-d-learn mailing list