Thread overview | ||||||
---|---|---|---|---|---|---|
|
May 10, 2013 Why can't templatized classes be aliased ? | ||||
---|---|---|---|---|
| ||||
with these simple types: class Implementator1(T){} class Implementator2(T){} class Implementator3(T){} version(1) { class ChosenImplementator(T): Implementator1!T{} } version(2) { class ChosenImplementator(T): Implementator3!T{} } version(All) { class Foo(T) { ChosenImplementator!T Bar; } } Why isn't it possible, technically, to alias a template ? (such like that:) version(1) { alias (Implementator1(T)) ChosenImplementator(T); } version(2) { alias (Implementator2(T)) ChosenImplementator(T); } which would avoid to polute a templatized class with some compiler switches. Would aliasing template make sense ? |
May 10, 2013 Re: Why can't templatized classes be aliased ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to KeyboardRider | On Friday, 10 May 2013 at 15:53:25 UTC, KeyboardRider wrote:
> Why isn't it possible, technically, to alias a template ?
> (such like that:)
>
> version(1)
> {
> alias (Implementator1(T)) ChosenImplementator(T);
> }
alias Implementator1 ChosenImplementator;
|
May 10, 2013 Re: Why can't templatized classes be aliased ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to anonymous | On Friday, 10 May 2013 at 15:57:48 UTC, anonymous wrote:
> On Friday, 10 May 2013 at 15:53:25 UTC, KeyboardRider wrote:
>> Why isn't it possible, technically, to alias a template ?
>> (such like that:)
>>
>> version(1)
>> {
>> alias (Implementator1(T)) ChosenImplementator(T);
>> }
>
> alias Implementator1 ChosenImplementator;
All right thx. Nothing else to add. ;)
|
May 10, 2013 Re: Why can't templatized classes be aliased ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to KeyboardRider | "KeyboardRider" <KeyboardRider@nowhere.com> wrote in message news:vabffcdkuarjzbsivkmc@forum.dlang.org... > with these simple types: > > class Implementator1(T){} > class Implementator2(T){} > class Implementator3(T){} > > version(1) > { > class ChosenImplementator(T): Implementator1!T{} > } > > version(2) > { > class ChosenImplementator(T): Implementator3!T{} > } > > version(All) > { > class Foo(T) > { > ChosenImplementator!T Bar; > } > } > > Why isn't it possible, technically, to alias a template ? > (such like that:) > > version(1) > { > alias (Implementator1(T)) ChosenImplementator(T); > } > > version(2) > { > alias (Implementator2(T)) ChosenImplementator(T); > } > > which would avoid to polute a templatized class with some compiler > switches. > Would aliasing template make sense ? Or even template ChosenImplementator(T) { alias ChosenImplementator = Implementator1!T; } |
Copyright © 1999-2021 by the D Language Foundation