Мне интересно, есть ли какой-нибудь эффективный способ хеширования std::bitset
или же boost::dynamic_bitset<>
для неупорядоченных контейнеров Boost?
Я сейчас конвертирую std::bitset
или же boost::dynamic_bitset<>
в std::string
сначала, прежде чем хэшировать их, но, похоже, это будет медленно.
Есть ли какой-нибудь лучший способ?
C ++ 11 требует, чтобы стандартная библиотека имела std::hash<std::bitset>
специализированные. Я должен уже иметь хэш.
Для повышения вы должны использовать config: #define BOOST_DYNAMIC_BITSET_DONT_USE_FRIENDS
тогда dynamic_bitset::m_bits
член становится публичным, и вы можете сделать хэш на нем.
Других решений пока нет …