digitalmars.D - Parameterized aliases
- Piotr Szturmaj (8/8) Aug 12 2013 Hi D community!
- Meta (4/12) Aug 12 2013 That's a neat idea. I don't know much about the compiler, so I'm
- Meta (2/5) Aug 12 2013 Hmm, Dodra is right, I misunderstood.
- monarch_dodra (12/20) Aug 12 2013 That's just been implemented actually. Try it on DMD head :)
- Piotr Szturmaj (2/17) Aug 12 2013 Oh... I'm not following D as I used to. Thanks!
Hi D community! What do you think of such templated aliases: template SomeTemplate(T1, T2) { } alias Partial(T) = SomeTemplate!(int, T); alias Specialized = Partial!float; // equivalent to SomeTemplate!(int, float) I think they could be pretty helpful and they should be relatively easy to implement.
Aug 12 2013
On Monday, 12 August 2013 at 20:06:16 UTC, Piotr Szturmaj wrote:Hi D community! What do you think of such templated aliases: template SomeTemplate(T1, T2) { } alias Partial(T) = SomeTemplate!(int, T); alias Specialized = Partial!float; // equivalent to SomeTemplate!(int, float) I think they could be pretty helpful and they should be relatively easy to implement.That's a neat idea. I don't know much about the compiler, so I'm not sure how easy to implement it would be, but something tells me that it wouldn't be trivial.
Aug 12 2013
On Monday, 12 August 2013 at 20:44:12 UTC, Meta wrote:That's a neat idea. I don't know much about the compiler, so I'm not sure how easy to implement it would be, but something tells me that it wouldn't be trivial.Hmm, Dodra is right, I misunderstood.
Aug 12 2013
On Monday, 12 August 2013 at 20:06:16 UTC, Piotr Szturmaj wrote:Hi D community! What do you think of such templated aliases: template SomeTemplate(T1, T2) { } alias Partial(T) = SomeTemplate!(int, T); alias Specialized = Partial!float; // equivalent to SomeTemplate!(int, float) I think they could be pretty helpful and they should be relatively easy to implement.That's just been implemented actually. Try it on DMD head :) I think they are actually called "template shorthand" or something, but yeah, it is basically parameterized aliases (also works with enums) import std.typetuple; alias Foo (U, T) = TypeTuple!(U, T); alias FooInt(T) = Foo!(int, T); void main() { alias UT = FooInt!(uint); }
Aug 12 2013
W dniu 12.08.2013 23:10, monarch_dodra pisze:On Monday, 12 August 2013 at 20:06:16 UTC, Piotr Szturmaj wrote:Oh... I'm not following D as I used to. Thanks!Hi D community! What do you think of such templated aliases: template SomeTemplate(T1, T2) { } alias Partial(T) = SomeTemplate!(int, T); alias Specialized = Partial!float; // equivalent to SomeTemplate!(int, float) I think they could be pretty helpful and they should be relatively easy to implement.That's just been implemented actually. Try it on DMD head :)
Aug 12 2013