我需要散列四种不同事物的组合,包括 20 个字节,因此我定义了这个:
struct holder
{
char a;
uint16_t b;
uint64_t c;
char d[9];
} __attribute((__packed__));
然后我可以加载上述之一并将其传递给哈希函数。所以我希望我的班级Foo
有一个std::tr1::unordered_map<holder, int> map
. 但是为了在 的头文件中声明它Foo
,我需要在我的类型中包含 的定义、holder
模板特化,并因此包含完整的哈希函数。有没有办法不在标题中包含所有这些代码,但仍然给我的班级这个哈希图?std::tr1
hash