digitalmars.D.learn - overriding alias symbols
- Superstar64 (20/20) Oct 12 2016 I'm trying to use mixin templetes to provide generic default
- Stefan Koch (2/22) Oct 12 2016 override void mixin (__traits(identifier, Method)) ... ?
- Superstar64 (7/8) Oct 12 2016 Doesn't work:
- Superstar64 (17/18) Oct 12 2016 Nevermind I just realized I can do this:
I'm trying to use mixin templetes to provide generic default implementations. Something like this: --- abstract class MyAbstractClass { void myAbstractMethod(); } mixin template defaultImplentation(alias Method, T...) { override void Method() { } } class MyClass : MyAbstractClass { mixin defaultImplentation!(myAbstractMethod); } --- Anyone have any ideas?
Oct 12 2016
On Wednesday, 12 October 2016 at 22:14:32 UTC, Superstar64 wrote:I'm trying to use mixin templetes to provide generic default implementations. Something like this: --- abstract class MyAbstractClass { void myAbstractMethod(); } mixin template defaultImplentation(alias Method, T...) { override void Method() { } } class MyClass : MyAbstractClass { mixin defaultImplentation!(myAbstractMethod); } --- Anyone have any ideas?override void mixin (__traits(identifier, Method)) ... ?
Oct 12 2016
On Wednesday, 12 October 2016 at 22:46:14 UTC, Stefan Koch wrote:override void mixin (__traits(identifier, Method)) ... ?Doesn't work: test.d(8): Error: no identifier for declarator void test.d(9): Error: found '{' when expecting ')' test.d(10): Error: found '}' when expecting ';' I could make the whole function a mixin but I don't wanna hurt my compile times.
Oct 12 2016
On Wednesday, 12 October 2016 at 22:14:32 UTC, Superstar64 wrote:...Nevermind I just realized I can do this: --- abstract class MyAbstractClass { void myAbstractMethod(); } void defaultImplentation(T...) { } class MyClass : MyAbstractClass { override void myAbstractMethod() { return defaultImplentation!(); } }
Oct 12 2016