如何使bimap中的两个或多个元素成为key
How to make two or more elements in bimap as key
我想知道是否可以在 bimap
中插入两个或更多元素作为键。我有一个 bimap
的最小示例,其中包含一个元素键
#include <boost/bimap.hpp>
#include <boost/bimap/multiset_of.hpp>
#include <string>
#include <iostream>
int main()
{
typedef boost::bimap<boost::bimaps::set_of<int>,boost::bimaps::multiset_of<int> > bimap;
bimap numbers;
numbers.insert({1, 1});
numbers.insert({2, 1});
numbers.insert({3, 8});
auto it = numbers.left.find(1);
std::cout << it->first << ":" << it->second << std::endl;
}
现在我可以有类似的东西吗
typedef boost::bimap<boost::bimaps::set_of<int>,boost::bimaps::multiset_of<int, int > > bimap;
bimap numbers;
numbers.insert({1, 1, 5});
numbers.insert({2, 1, 1});
一对整数在 C++11 及更高版本中的类型为 std::pair<int, int>
( also std::tuple<int, int>
)
typedef boost::bimap<boost::bimaps::set_of<int>,boost::bimaps::multiset_of<std::pair<int, int > > > bimap;
bimap numbers;
numbers.insert({1, {1, 5}});
numbers.insert({2, {1, 1}});
注意插入内容中的额外 {}
我想知道是否可以在 bimap
中插入两个或更多元素作为键。我有一个 bimap
的最小示例,其中包含一个元素键
#include <boost/bimap.hpp>
#include <boost/bimap/multiset_of.hpp>
#include <string>
#include <iostream>
int main()
{
typedef boost::bimap<boost::bimaps::set_of<int>,boost::bimaps::multiset_of<int> > bimap;
bimap numbers;
numbers.insert({1, 1});
numbers.insert({2, 1});
numbers.insert({3, 8});
auto it = numbers.left.find(1);
std::cout << it->first << ":" << it->second << std::endl;
}
现在我可以有类似的东西吗
typedef boost::bimap<boost::bimaps::set_of<int>,boost::bimaps::multiset_of<int, int > > bimap;
bimap numbers;
numbers.insert({1, 1, 5});
numbers.insert({2, 1, 1});
一对整数在 C++11 及更高版本中的类型为 std::pair<int, int>
( also std::tuple<int, int>
)
typedef boost::bimap<boost::bimaps::set_of<int>,boost::bimaps::multiset_of<std::pair<int, int > > > bimap;
bimap numbers;
numbers.insert({1, {1, 5}});
numbers.insert({2, {1, 1}});
注意插入内容中的额外 {}