Я имею в виду такую конструкцию:
template <typename T, T defaultValue>
struct Numeric
{
Numeric(T t=defaultValue) : value(t) { }
T value;
T operator=()(T t);
operator T();
};
Я мог бы использовать это так:
std::vector<Numeric<bool, true> > nothingButTheTruth;
Мой вопрос прост: это хороший подход, и если да, то существует ли что-то подобное в стандартной библиотеке или в Boost?