Предположим, у меня был следующий класс:
template<typename T>
class Value {
public:
Value(std::string name, T value) : name(name), value(value) { }
T const &value() throw() { return value }
std::string const &name() throw() { return name }
private:
std::string name;
T value;
};
, а затем я хотел сделать что-то вроде:
class Group {
public:
Group(std::string name) : name(name) { }
template<typename T>
void add_value(std::string const &name, T const &val) throw() {
Value<T> tmp(name, val);
values.insert(tmp);
return;
}
private:
std::string name;
std::set< Value<????> > values; // HERE BE MY QUESTION
}
Конкретно, я хочу сохранить Value
во множестве шаблонов.формы в одном и том же std :: set (например, Value<int>
и Value<float>
хранятся в одном наборе).