Я хотел бы вывести тег из итератора boost::multi_index, возможно ли это?
псевдокоды
struct digital_base_struct
{
digital_base_struct();
std::string description_;
//.......
};
typedef boost::multi_index::multi_index_container<
digital_base_struct,
boost::multi_index::ordered_unique<
boost::multi_index::tag<description_tag>,
boost::multi_index::member<digital_base_struct,
std::string,&digital_base_struct::description_>
>,
//.......
> digital_base_table;
int main()
{
typedef digital_base_table<description_tag>::type descript_table;
typedef descript_table::iterator descript_it;
//is it possible to deduce the tag
//in another word, could I get the type "description_tag" from iterator?
typedef descript_it::tag tag;
}
Не могу найти способ сделать это правильно, возможно ли это сделать? Я разрабатываю черту типа для извлечения тега итератора, но есть ли у меня более простое решение?