Cpp - 检查boost bimap中是否存在密钥

Seç*_*gay 4 c++ boost

我有一个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;
            }
Run Code Online (Sandbox Code Playgroud)

我想检查'姓名'是否存在.

Bjö*_*lex 8

这个例子中非常清楚地解释了这一点.在你的情况下,它应该是这样的:

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
}
Run Code Online (Sandbox Code Playgroud)