module rt.util.utility; package struct _Complex(T) { T re; T im; } package enum __c_complex_float : _Complex!float; package enum __c_complex_double : _Complex!double; package enum __c_complex_real : _Complex!real; // This is why we don't use stdc.config package alias d_cfloat = __c_complex_float; package alias d_cdouble = __c_complex_double; package alias d_creal = __c_complex_real; package enum isComplex(T) = is(T == d_cfloat) || is(T == d_cdouble) || is(T == d_creal);