- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在实现 boost::bimap
并且我正在考虑使用 unordered_multiset_of
但是 unordered_multiset_of
需要传递一个散列函数和相等运算符给它。我做对了。
class MyClass
{
std::string s1;
std::string s2;
bool operator == (MyClass const& myClass)
{
return (s1 == myClass.s1 && s2 == myClass.s2);
}
};
namespace std
{
template<>
struct hash<MyClass>
{
std::size_t operator()(const MyClass& myClass) const
{
std::size_t Seed = 0;
boost::hash_combine(Seed, myClass.s1);
boost::hash_combine(Seed, myClass.s2);
return Seed;
}
}
}
int main()
{
typedef boost::bimaps::bimap<boost::bimaps::unordered_multiset_of<client,std::hash<MyClass>, std::equal_to>, .......................................> MyBiMap;
MyBiMap MAP;
}
我的散列函数和 equal_to 函数似乎出错了。我如何解决它?我相信 std::equal_to()
会自动调用我在 MyClass
中定义的 == 运算符,对吗?
最佳答案
bool 运算符 == (MyClass const& myClass)
必须是 const
bool operator == (MyClass const& myClass)const
否则 std::equal_to
将无法使用它,因为它接受 const 引用
template <class T> struct equal_to : binary_function <T,T,bool> {
bool operator() (const T& x, const T& y) const {return x==y;}
};
关于c++ - 关于boost bimap中unordered_multiset_of的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16151481/
我有以下代码: #include #include #include using namespace boost::bimaps; using namespace boost; struct E
我有以下内容: struct foo_and_number_helper { std::string foo; uint64_t number; }; struct foo_and_numbe
我有一个这样的双图: using MyBimap = boost::bimaps::bimap, boost::bimaps::unordered_set_of>; 我想从静态初始化列表构造它
我正在审查 Google Guava API 的功能,并遇到了一种我在“现实世界编程”经验中从未见过的数据结构,即 BiMap。这种构造的唯一好处是能够快速检索给定值的 key 吗?是否存在使用 Bi
我有一个像这样的无序 bimap: using SymPressMap = boost::bimap, boost::bimaps::unordered_se
如果不使用 BiMap 的 .inverse() 函数,您将如何进行反向映射? 我得到了: public static Map> reverseMapping(Map mapping) 我尝试过类似的
根据这个question中使用boost::bimap的建议, 我有一个关于如何解决 bimap 中重复键的问题。 如果我有: , ,是否可以在bimap中插入两次? 我看到了描述 Collecti
我使用了很多形式的容器 boost::bimap, boost::bimaps::set_of > 我在一个头文件中定义它们,这个头文件包含在很多 cpp 文件中(这是在我尽可能限制头文件的公开之后)
我正在尝试获取通过其键访问的值。到目前为止,我有一个我尝试过的最小示例,并且仅适用于左侧访问。 #include #include #include #include #include #i
我想访问 bimap 中重复元素的所有键。我在下面有一些示例代码 #include #include #include #include #include #include namespa
好的,所以我声明了一个 boost::bimap: boost::bimap object_list; 其中 object 和 position 分别是一个类和一个结构。 在 bimap 中存储的当前
Java 编程 迭代 map 的问题 Iterator iterator = plugin.inreview.keySet().iterator(); while (iterator.hasNext(
设 T_1 和 T_2 是两种类型,f: Dom(T_1) -> Dom(T_2) 是一个非双射的单射函数;为了便于讨论,假设我将 f 表示为不同的对,而不是用于计算它的代码。现在,我需要能够相对快速
我正在寻找双向无序 map 。目前,我只有这个。问题是,我不能使用 []。我认为 boost 默认为列表类型。但我想要一个 HashMap 。这怎么可能? #include #include bo
我正在尝试为 C++ 中的枚举创建一个简单的双向查找工具。我的单向查找工作正常... enum MyEnum { One, Two, Three }; const boost:
我正在模板化类中嵌入 boost::bimap,经过多次试验和错误,我发现了一些可以编译的东西和一些不能编译的东西。我正在使用 g++ (GCC) 4.9.2 20150212 (Red Hat 4.
我对BiMap仍然很困惑在 Google collections/Guava 。据称,这两个 bimap 有相同的数据支持;对其中一个的任何更改都会出现在另一个中。 浏览了一下源码,发现Forward
我刚刚读过这篇文章 http://www.ctl.ua.edu/math103/mapcolor/mapcolor.htm 我不明白,如何将此 map (在 bimap 中)转换为图形结构。 进入 如
我想序列化 BiMap与 xStream .由于我不喜欢 xStream 为 BiMap 自动生成的代码,我认为将 BiMap 转换为 HashMap 并仅序列化 HashMap 可能是个好主意,反序
我正在尝试使用 boost::bimap 来满足我的一项要求。下面是示例代码 typedef bimap, multiset_of, set_of_relation<>
我是一名优秀的程序员,十分优秀!