Эффективное хеширование `std :: bitset` или` boost :: dynamic_bitset & lt; & gt; `для неупорядоченных контейнеров Boost

Мне интересно, есть ли какой-нибудь эффективный способ хеширования std::bitset или же boost::dynamic_bitset<> для неупорядоченных контейнеров Boost?

Я сейчас конвертирую std::bitset или же boost::dynamic_bitset<> в std::string сначала, прежде чем хэшировать их, но, похоже, это будет медленно.

Есть ли какой-нибудь лучший способ?

2

Решение

C ++ 11 требует, чтобы стандартная библиотека имела std::hash<std::bitset> специализированные. Я должен уже иметь хэш.

Для повышения вы должны использовать config: #define BOOST_DYNAMIC_BITSET_DONT_USE_FRIENDS тогда dynamic_bitset::m_bits член становится публичным, и вы можете сделать хэш на нем.

4

Другие решения

Других решений пока нет …