int main() { { typedef std::unordered_multimap<int, std::string> C; typedef std::pair<int, std::string> P; P a[] = { P(1, "one"), P(2, "two"), P(3, "three"), P(4, "four"), P(1, "four"), P(2, "four"), }; C c(a, a + sizeof(a)/sizeof(a[0])); test(c); assert(c.bucket_count() >= 7); c.rehash(3); rehash_postcondition(c, 3); assert(c.bucket_count() == 7); test(c); c.max_load_factor(2); c.rehash(3); rehash_postcondition(c, 3); assert(c.bucket_count() == 3); test(c); c.rehash(31); rehash_postcondition(c, 31); assert(c.bucket_count() == 31); test(c); } #if __cplusplus >= 201103L { typedef std::unordered_multimap<int, std::string, std::hash<int>, std::equal_to<int>, min_allocator<std::pair<const int, std::string>>> C; typedef std::pair<int, std::string> P; P a[] = { P(1, "one"), P(2, "two"), P(3, "three"), P(4, "four"), P(1, "four"), P(2, "four"), }; C c(a, a + sizeof(a)/sizeof(a[0])); test(c); assert(c.bucket_count() >= 7); c.rehash(3); rehash_postcondition(c, 3); assert(c.bucket_count() == 7); test(c); c.max_load_factor(2); c.rehash(3); rehash_postcondition(c, 3); assert(c.bucket_count() == 3); test(c); c.rehash(31); rehash_postcondition(c, 31); assert(c.bucket_count() == 31); test(c); } #endif }
int main() { { typedef std::unordered_multiset<int> C; typedef int P; P a[] = { P(1), P(2), P(3), P(4), P(1), P(2) }; C c(a, a + sizeof(a)/sizeof(a[0])); test(c); assert(c.bucket_count() >= 7); c.rehash(3); rehash_postcondition(c, 3); assert(c.bucket_count() == 7); test(c); c.max_load_factor(2); c.rehash(3); rehash_postcondition(c, 3); assert(c.bucket_count() == 3); test(c); c.rehash(31); rehash_postcondition(c, 31); assert(c.bucket_count() == 31); test(c); } #if __cplusplus >= 201103L { typedef std::unordered_multiset<int, std::hash<int>, std::equal_to<int>, min_allocator<int>> C; typedef int P; P a[] = { P(1), P(2), P(3), P(4), P(1), P(2) }; C c(a, a + sizeof(a)/sizeof(a[0])); test(c); assert(c.bucket_count() >= 7); c.rehash(3); rehash_postcondition(c, 3); assert(c.bucket_count() == 7); test(c); c.max_load_factor(2); c.rehash(3); rehash_postcondition(c, 3); assert(c.bucket_count() == 3); test(c); c.rehash(31); rehash_postcondition(c, 31); assert(c.bucket_count() == 31); test(c); } #endif }
int main() { { typedef std::unordered_set<int> C; typedef int P; P a[] = { P(1), P(2), P(3), P(4), P(1), P(2) }; C c(a, a + sizeof(a)/sizeof(a[0])); test(c); assert(c.bucket_count() >= 5); c.rehash(3); rehash_postcondition(c, 3); LIBCPP_ASSERT(c.bucket_count() == 5); test(c); c.max_load_factor(2); c.rehash(3); rehash_postcondition(c, 3); LIBCPP_ASSERT(c.bucket_count() == 3); test(c); c.rehash(31); rehash_postcondition(c, 31); LIBCPP_ASSERT(c.bucket_count() == 31); test(c); } #if TEST_STD_VER >= 11 { typedef std::unordered_set<int, std::hash<int>, std::equal_to<int>, min_allocator<int>> C; typedef int P; P a[] = { P(1), P(2), P(3), P(4), P(1), P(2) }; C c(a, a + sizeof(a)/sizeof(a[0])); test(c); assert(c.bucket_count() >= 5); c.rehash(3); rehash_postcondition(c, 3); LIBCPP_ASSERT(c.bucket_count() == 5); test(c); c.max_load_factor(2); c.rehash(3); rehash_postcondition(c, 3); LIBCPP_ASSERT(c.bucket_count() == 3); test(c); c.rehash(31); rehash_postcondition(c, 31); LIBCPP_ASSERT(c.bucket_count() == 31); test(c); } #endif }