digitalmars.D - Why can't templatized classes be aliased ?
- KeyboardRider (32/32) May 10 2013 with these simple types:
- anonymous (2/8) May 10 2013 alias Implementator1 ChosenImplementator;
- KeyboardRider (2/11) May 10 2013 All right thx. Nothing else to add. ;)
- Daniel Murphy (5/37) May 10 2013 Or even
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
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
On Friday, 10 May 2013 at 15:57:48 UTC, anonymous wrote:On Friday, 10 May 2013 at 15:53:25 UTC, KeyboardRider wrote:All right thx. Nothing else to add. ;)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
"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; }
May 10 2013









"KeyboardRider" <KeyboardRider nowhere.com> 