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

时间:2012-04-05 06:42:28

标签: 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;
            }

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

1 个答案:

答案 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
}