我有一个bimap。我想检查我的bimap中是否存在密钥。我怎样才能做到这一点。这是我的bimap:
namespace bimap
{
struct Name{};
struct ID{};
typedef
boost::bimaps::bimap<
boost::bimaps::set_of<
boost::bimaps::tagged<
unsigned short
, ID
>
>,
boost::bimaps::set_of<
boost::bimaps::tagged<
std::string
, Name
>
>
>
name_index_bimap;
}
我想检查'姓名'是否存在。
答案 0 :(得分:8)
在this example中已经非常清楚地解释了这一点。在你的情况下,它应该是这样的:
name_index_map your_map;
name_index_map::right_const_iterator it = your_map.by<Name>().find("some name");
if(it == your_map.right.end()) {
// name does not exists
}