我试图创建在C ++枚举一个简单的双向查找设施。 我有一个办法查找工作正常...
enum MyEnum
{
One,
Two,
Three
};
const boost::unordered_map<MyEnum,std::string> MyEnumMap = map_list_of
(One, "One")
(Two, "Two")
(Three, "Three");
然后做通过查询
MyEnumMap.at(One)
这一工程,但只允许基于键查找。 我想用一个双向查找容器如boost:bimap的允许基于价值以及重要容易反向查找。 它似乎并不像map_list_of是的boost :: bimap的兼容,但。
首先,如果我仍然使用map_list_of用的boost :: bimap的,或者需要另一种类型?
这些地图都将是一个基本的(枚举,字符串)类型。
其次,是有办法,我仍然可以定义地图为const在如上一个简单的方法? 我试图让这个容易更新和维护尽可能没有进入太多额外的typedef和这样。 您的见解表示赞赏。