Initializing defaults based on type.

anon via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Mar 7 15:37:16 PST 2015


On Friday, 6 March 2015 at 16:04:33 UTC, Benjamin Thaut wrote:
> On Friday, 6 March 2015 at 15:36:47 UTC, anon wrote:
>> Hi,
>>
>> I can't figure this out.
>>
>> struct Pair(T)
>> {
>>   T x;
>>   T y;
>>
>>   alias x c;
>>   alias y r;
>> }
>>
>> What would like is that the x and y to be initialized to 
>> different values depending on type eg:
>>
>> struct Container
>> {
>>  Pair!double sample1; // This will initialize sample1 with 0 
>> for both x and y
>>  Pair!int    sample2; // This will initialize sample2 with 1 
>> for both x and y
>> }
>>
>> currently I'm using two different struct one with doubles and 
>> the other with ints and initialized with default value but was 
>> wondering if its possible to do the above.
>>
>> anon
>
> struct Pair(T)
> {
>  static if(is(T == int))
>    enum int initValue = 1;
>  else
>    enum T initValue = 0;
>
>    T x = initValue;
>    T y = initValue;
>
>    alias x c;
>    alias y r;
> }

Thanks


More information about the Digitalmars-d-learn mailing list