| Thread overview | ||||||
|---|---|---|---|---|---|---|
|
October 12, 2016 overriding alias symbols | ||||
|---|---|---|---|---|
| ||||
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?
| ||||
October 12, 2016 Re: overriding alias symbols | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Superstar64 | 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)) ... ?
| |||
October 12, 2016 Re: overriding alias symbols | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | 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.
| |||
October 12, 2016 Re: overriding alias symbols | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Superstar64 | 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!();
}
}
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply