mirror of
https://github.com/boostorg/dynamic_bitset.git
synced 2026-01-19 04:12:09 +00:00
Also test std::hash with bitsets having equal underlying vectors
This makes sure the size of the bitset is taken into account in the calculation of the hash value.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
//
|
||||
// Copyright (C) 2019 James E. King III
|
||||
// Copyright (C) 2025 Gennaro Prota
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0. (See
|
||||
// accompanying file LICENSE_1_0.txt or copy at
|
||||
@@ -17,16 +18,23 @@ main( int, char *[] )
|
||||
const std::string long_string =
|
||||
"01001110101110110101011010000000000011110101101111111111";
|
||||
|
||||
// Some bitsets with the same size but different underlying vectors.
|
||||
const bitset_type zeroes( long_string.size(), 0 );
|
||||
const bitset_type stuff( long_string );
|
||||
const bitset_type one( long_string.size(), 1 );
|
||||
|
||||
// Some bitsets with different sizes but equal underlying vectors.
|
||||
const bitset_type zeroes2( 2, 0 );
|
||||
const bitset_type zeroes3( 3, 0 );
|
||||
|
||||
std::unordered_set< bitset_type > bitsets;
|
||||
bitsets.insert( zeroes );
|
||||
bitsets.insert( stuff );
|
||||
bitsets.insert( one );
|
||||
bitsets.insert( zeroes2 );
|
||||
bitsets.insert( zeroes3 );
|
||||
|
||||
BOOST_TEST_EQ( bitsets.size(), 3 );
|
||||
BOOST_TEST_EQ( bitsets.size(), 5 );
|
||||
|
||||
return boost::report_errors();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user