Re: Templated class defaults and inheritence

2016-06-19 Thread Rene Zwanenburg via Digitalmars-d-learn
On Saturday, 18 June 2016 at 17:48:47 UTC, Joerg Joergonson wrote: class foo(T) if (is(T : subfoo)) X; FYI this can also be done in the template parameter list: class foo(T : subfoo){}

Re: Templated class defaults and inheritence

2016-06-18 Thread Joerg Joergonson via Digitalmars-d-learn
This is solved through simple inheritance constraints and aliasing with qualification. class X; class subfoo; class subbaz : subfoo; class foo(T) if (is(T : subfoo)) X; class baz(T) if (is(T : subbaz)) foo!T; then when we need foo with "default", alias foo = qualified.foo!subfoo; Without

Re: Templated class defaults and inheritence

2016-06-18 Thread Joerg Joergonson via Digitalmars-d-learn
On Saturday, 18 June 2016 at 12:15:56 UTC, Klaus Kalsesh wrote: On Saturday, 18 June 2016 at 02:11:23 UTC, Joerg Joergonson wrote: I have something like class X; class subfoo : X; class subbaz : X; class foo : X { subfoo bar; } class baz : X; which I have modified so that class subbaz

Re: Templated class defaults and inheritence

2016-06-18 Thread Klaus Kalsesh via Digitalmars-d-learn
On Saturday, 18 June 2016 at 02:11:23 UTC, Joerg Joergonson wrote: I have something like class X; class subfoo : X; class subbaz : X; class foo : X { subfoo bar; } class baz : X; which I have modified so that class subbaz : subfoo; class baz : foo; (essentially baz is now a derivation

Templated class defaults and inheritence

2016-06-17 Thread Joerg Joergonson via Digitalmars-d-learn
I have something like class X; class subfoo : X; class subbaz : X; class foo : X { subfoo bar; } class baz : X; which I have modified so that class subbaz : subfoo; class baz : foo; (essentially baz is now a derivation of foo while before it was of X) the problem is that subbaz uses