У меня есть класс, в котором есть член args
, в котором хранятся std::string
и std::type_index
.
Функция шаблона setArgument()
добавляет имя атрибута и его typeid
вargs
.
class OperationEntry:
{
std::vector<std::pair<std::string, std::type_index>> args;
template <class AttrType>
inline OperationEntry& setArgument(const std::string& name)
{
args_.push_back({name, typeid(AttrType)});
return *this;
}
Я хочу расширить определение args
до std::tuple
и содержать дополнительное значение, которое будет заполнено в setArgument()
.Однако типом значения является тип шаблона AttrType
.
Мой вопрос: как мне объявить args
для хранения этого типа шаблона, так как я заранее не знаю тип '?
например - std::vector<std::tuple<std::string, std::type_index, AttrType>> args;
например setArgument()
может добавить
"alpha", f, 3.3
"beta", i, 3