Identifying associative array types from a template?

Christopher Wright dhasenan at gmail.com
Sat Dec 1 17:25:31 PST 2007


I want to identify the types that make up an associative array that I 
get as a template parameter, something like:

template decomposeAA (T) {
    static if (is (TT TVal : TVal[TKey])) {
       alias Tuple!(TVal, TKey) decomposeAA;
    } else {
       static assert (false, "not an associative array");
    }
}


Now, if I put conditions on TKey, this works, at least in D2. If I don't 
put conditions on TKey, it always static asserts, even if I give it an 
associative array.

Is this a bug? Is there another way to get the key type and value type?


More information about the Digitalmars-d-learn mailing list