2012-09-07 6 views
2

부스트의 순서가없는 컨테이너에 대해서 std::bitset 또는 boost::dynamic_bitset<>을 해쉬하는 효율적인 방법이 있는지 궁금합니다.Boost의 순서가없는 컨테이너를위한`std :: bitset` 또는`boost :: dynamic_bitset <>`의 효율적인 해싱

현재 해싱하기 전에 std::bitset 또는 boost::dynamic_bitset<>std::string으로 변환 중입니다. 그러나 느려질 것으로 보입니다.

더 좋은 방법이 있습니까?

답변

4

C++ 11은 표준 라이브러리가 std::hash<std::bitset>을 전문화해야합니다. 이미 해시가 있어야합니다.

부스트의 경우 config : #define BOOST_DYNAMIC_BITSET_DONT_USE_FRIENDS을 사용해야하고 dynamic_bitset::m_bits 회원은 공개가되고 해시를 만들 수 있습니다.

+0

이 답변도 참조하십시오. http://stackoverflow.com/a/3897217/1558890 –