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









Superstar64 <Hexagonalstar64 gmail.com> 