Иногда я нуждаюсь в следующем:
template<bool B, typename T1, typename T2>
struct choose{
typedef T1 type;
};
template<typename T1, typename T2>
struct choose<false, T1, T2>{
typedef T2 type;
};
Я использую это для условного выбора одного типа или другого.Теперь, есть ли что-то в стандартной библиотеке, которая делает именно это? Boost.MPL имеет нечто похожее , но это не совсем то же самое (принимает тип, а не bool), и я не хочу включать Boost для этой мелочи.:)