Re: Can't print enum values

2018-08-31 Thread Andrey via Digitalmars-d-learn
On Friday, 31 August 2018 at 12:21:48 UTC, aliak wrote: auto ToUnderlyingType(alias a)() { return cast(OriginalType!(typeof(a)))a; } void print(T...)(T args) { writeln(staticMap!(ToUnderlyingType, args)); } Oohhh. So easy! Killed 2 days - and templates and mixins tried... And the sol

Re: Can't print enum values

2018-08-31 Thread aliak via Digitalmars-d-learn
On Friday, 31 August 2018 at 10:51:51 UTC, Andrey wrote: On Thursday, 30 August 2018 at 12:04:26 UTC, vit wrote: On Thursday, 30 August 2018 at 11:34:36 UTC, Andrey wrote: On Thursday, 30 August 2018 at 11:09:40 UTC, vit wrote: [...] I want to create a reusable template for this purpose. Why

Re: Can't print enum values

2018-08-31 Thread Andrey via Digitalmars-d-learn
On Thursday, 30 August 2018 at 12:04:26 UTC, vit wrote: On Thursday, 30 August 2018 at 11:34:36 UTC, Andrey wrote: On Thursday, 30 August 2018 at 11:09:40 UTC, vit wrote: [...] I want to create a reusable template for this purpose. Why I can't use "staticMap" so that compiler it self would do

Re: Can't print enum values

2018-08-30 Thread vit via Digitalmars-d-learn
On Thursday, 30 August 2018 at 11:34:36 UTC, Andrey wrote: On Thursday, 30 August 2018 at 11:09:40 UTC, vit wrote: [...] I want to create a reusable template for this purpose. Why I can't use "staticMap" so that compiler it self would do this: [...] Just wrap some some symbol "args" with som

Re: Can't print enum values

2018-08-30 Thread Andrey via Digitalmars-d-learn
On Thursday, 30 August 2018 at 11:09:40 UTC, vit wrote: args are runtime arguments. import std.experimental.all; enum MyEnum : string { First = "F_i_r_s_t", Second = "S_e_c_o_n_d" } ///alias QW(alias arg) = Alias!(cast(OriginalType!(typeof(arg)))arg); auto QW(T)(const auto ref T x){

Re: Can't print enum values

2018-08-30 Thread vit via Digitalmars-d-learn
On Thursday, 30 August 2018 at 10:41:58 UTC, Andrey wrote: Hello, This code doesn't print enum values: import std.meta; import std.traits; import std.stdio; enum MyEnum : string { First = "F_i_r_s_t", Second = "S_e_c_o_n_d" } alias QW(alias arg) = Alias!(cast(OriginalType!(typeof(arg)))

Can't print enum values

2018-08-30 Thread Andrey via Digitalmars-d-learn
Hello, This code doesn't print enum values: import std.meta; import std.traits; import std.stdio; enum MyEnum : string { First = "F_i_r_s_t", Second = "S_e_c_o_n_d" } alias QW(alias arg) = Alias!(cast(OriginalType!(typeof(arg)))arg); void print(T...)(T args) { writeln(cast(OriginalT