【发布时间】:2015-05-13 03:03:52
【问题描述】:
我想从boost::multi_index的迭代器中推导出tag,可以吗?
伪代码
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;
}
找不到正确的方法,是否可以这样做?我设计了一个类型特征来提取迭代器的标签,但是我有更简单的解决方案吗?
【问题讨论】:
标签: c++ boost c++98 boost-multi-index