template<class T, bool VAL> class A { };
typedef A<T, true> At<T>; typedef A<T, false> Af<T>; At<int> a1; Af<float> a2;