Чисто академический вопрос.
Хочется вот такого:
enum Eabcd { a, b, c, d };
template< Eabcd arg >
struct some_s {
enum { value = arg; }
};
typedef std::vector< some_s<???> > v_some_s;
v_some_s v;
v.push_back( some_s<a>() );
v.push_back( some_s<b>() );
v.push_back( some_s<c>() );
v.push_back( some_s<d>() );
не хочется прибегать к наследованию.
Здравствуйте, nen777w, Вы писали:
N>Чисто академический вопрос.
N>Хочется вот такого:
N>N>enum Eabcd { a, b, c, d };
N>template< Eabcd arg >
N>struct some_s {
N> enum { value = arg; }
N>};
N>typedef std::vector< some_s<???> > v_some_s;
N>v_some_s v;
N>v.push_back( some_s<a>() );
N>v.push_back( some_s<b>() );
N>v.push_back( some_s<c>() );
N>v.push_back( some_s<d>() );
N>
N>не хочется прибегать к наследованию.
А без наследования никак
Здравствуйте, _niko_, Вы писали:
__>Здравствуйте, nen777w, Вы писали:
N>>Чисто академический вопрос.
N>>Хочется вот такого:
N>>N>>enum Eabcd { a, b, c, d };
N>>template< Eabcd arg >
N>>struct some_s {
N>> enum { value = arg; }
N>>};
N>>typedef std::vector< some_s<???> > v_some_s;
N>>v_some_s v;
N>>v.push_back( some_s<a>() );
N>>v.push_back( some_s<b>() );
N>>v.push_back( some_s<c>() );
N>>v.push_back( some_s<d>() );
N>>
N>>не хочется прибегать к наследованию.
__>А без наследования никак
boost::any ?
Здравствуйте, std_string, Вы писали:
_>Здравствуйте, _niko_, Вы писали:
__>>Здравствуйте, nen777w, Вы писали:
N>>>Чисто академический вопрос.
N>>>Хочется вот такого:
N>>>N>>>enum Eabcd { a, b, c, d };
N>>>template< Eabcd arg >
N>>>struct some_s {
N>>> enum { value = arg; }
N>>>};
N>>>typedef std::vector< some_s<???> > v_some_s;
N>>>v_some_s v;
N>>>v.push_back( some_s<a>() );
N>>>v.push_back( some_s<b>() );
N>>>v.push_back( some_s<c>() );
N>>>v.push_back( some_s<d>() );
N>>>
N>>>не хочется прибегать к наследованию.
__>>А без наследования никак
_>boost::any ?
или boost::variant если список типов ограничен