4

我有一个双地图。我想检查我的 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;
            }

我想检查“名称”是否存在。

4

1 回答 1

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
}
于 2012-04-05T06:53:26.860 回答