20 バイトで構成される 4 つの異なるものの組み合わせをハッシュする必要があるため、次のように定義しました。
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::tr1hash