diff options
Diffstat (limited to 'test/std/containers/unord/unord.map/swap_member.pass.cpp')
-rw-r--r-- | test/std/containers/unord/unord.map/swap_member.pass.cpp | 177 |
1 files changed, 89 insertions, 88 deletions
diff --git a/test/std/containers/unord/unord.map/swap_member.pass.cpp b/test/std/containers/unord/unord.map/swap_member.pass.cpp index 0f98b66aa401..86a068cd357b 100644 --- a/test/std/containers/unord/unord.map/swap_member.pass.cpp +++ b/test/std/containers/unord/unord.map/swap_member.pass.cpp @@ -18,6 +18,7 @@ #include <unordered_map> #include <string> #include <cassert> +#include <cstddef> #include "../../test_compare.h" #include "../../test_hash.h" @@ -32,27 +33,27 @@ int main() typedef test_compare<std::equal_to<int> > Compare; typedef test_allocator<std::pair<const int, std::string> > Alloc; typedef std::unordered_map<int, std::string, Hash, Compare, Alloc> C; - C c1(0, Hash(1), Compare(1), Alloc(1)); - C c2(0, Hash(2), Compare(2), Alloc(2)); + C c1(0, Hash(1), Compare(1), Alloc(1, 1)); + C c2(0, Hash(2), Compare(2), Alloc(1, 2)); c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() == 0); + LIBCPP_ASSERT(c1.bucket_count() == 0); assert(c1.size() == 0); assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); - assert(c1.get_allocator() == Alloc(1)); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(c1.get_allocator().get_id() == 1); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() == 0); + LIBCPP_ASSERT(c2.bucket_count() == 0); assert(c2.size() == 0); assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); - assert(c2.get_allocator() == Alloc(2)); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(c2.get_allocator().get_id() == 2); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } { @@ -72,12 +73,12 @@ int main() P(70, "seventy"), P(80, "eighty"), }; - C c1(0, Hash(1), Compare(1), Alloc(1)); - C c2(std::begin(a2), std::end(a2), 0, Hash(2), Compare(2), Alloc(2)); + C c1(0, Hash(1), Compare(1), Alloc(1, 1)); + C c2(std::begin(a2), std::end(a2), 0, Hash(2), Compare(2), Alloc(1, 2)); c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() >= 11); + assert(c1.bucket_count() >= 8); assert(c1.size() == 8); assert(c1.at(10) == "ten"); assert(c1.at(20) == "twenty"); @@ -89,18 +90,18 @@ int main() assert(c1.at(80) == "eighty"); assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); - assert(c1.get_allocator() == Alloc(1)); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(c1.get_allocator().get_id() == 1); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() == 0); + LIBCPP_ASSERT(c2.bucket_count() == 0); assert(c2.size() == 0); assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); - assert(c2.get_allocator() == Alloc(2)); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(c2.get_allocator().get_id() == 2); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } { @@ -118,21 +119,21 @@ int main() P(1, "four"), P(2, "four"), }; - C c1(std::begin(a1), std::end(a1), 0, Hash(1), Compare(1), Alloc(1)); - C c2(0, Hash(2), Compare(2), Alloc(2)); + C c1(std::begin(a1), std::end(a1), 0, Hash(1), Compare(1), Alloc(1, 1)); + C c2(0, Hash(2), Compare(2), Alloc(1, 2)); c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() == 0); + LIBCPP_ASSERT(c1.bucket_count() == 0); assert(c1.size() == 0); assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); - assert(c1.get_allocator() == Alloc(1)); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(c1.get_allocator().get_id() == 1); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() >= 5); + assert(c2.bucket_count() >= 4); assert(c2.size() == 4); assert(c2.at(1) == "one"); assert(c2.at(2) == "two"); @@ -140,9 +141,9 @@ int main() assert(c2.at(4) == "four"); assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); - assert(c2.get_allocator() == Alloc(2)); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(c2.get_allocator().get_id() == 2); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } { @@ -171,12 +172,12 @@ int main() P(70, "seventy"), P(80, "eighty"), }; - C c1(std::begin(a1), std::end(a1), 0, Hash(1), Compare(1), Alloc(1)); - C c2(std::begin(a2), std::end(a2), 0, Hash(2), Compare(2), Alloc(2)); + C c1(std::begin(a1), std::end(a1), 0, Hash(1), Compare(1), Alloc(1, 1)); + C c2(std::begin(a2), std::end(a2), 0, Hash(2), Compare(2), Alloc(1, 2)); c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() >= 11); + assert(c1.bucket_count() >= 8); assert(c1.size() == 8); assert(c1.at(10) == "ten"); assert(c1.at(20) == "twenty"); @@ -188,12 +189,12 @@ int main() assert(c1.at(80) == "eighty"); assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); - assert(c1.get_allocator() == Alloc(1)); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(c1.get_allocator().get_id() == 1); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() >= 5); + assert(c2.bucket_count() >= 4); assert(c2.size() == 4); assert(c2.at(1) == "one"); assert(c2.at(2) == "two"); @@ -201,9 +202,9 @@ int main() assert(c2.at(4) == "four"); assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); - assert(c2.get_allocator() == Alloc(2)); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(c2.get_allocator().get_id() == 2); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } @@ -217,22 +218,22 @@ int main() c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() == 0); + LIBCPP_ASSERT(c1.bucket_count() == 0); assert(c1.size() == 0); assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); assert(c1.get_allocator() == Alloc(2)); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() == 0); + LIBCPP_ASSERT(c2.bucket_count() == 0); assert(c2.size() == 0); assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); assert(c2.get_allocator() == Alloc(1)); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } { @@ -257,7 +258,7 @@ int main() c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() >= 11); + assert(c1.bucket_count() >= 8); assert(c1.size() == 8); assert(c1.at(10) == "ten"); assert(c1.at(20) == "twenty"); @@ -270,17 +271,17 @@ int main() assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); assert(c1.get_allocator() == Alloc(2)); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() == 0); + LIBCPP_ASSERT(c2.bucket_count() == 0); assert(c2.size() == 0); assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); assert(c2.get_allocator() == Alloc(1)); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } { @@ -303,16 +304,16 @@ int main() c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() == 0); + LIBCPP_ASSERT(c1.bucket_count() == 0); assert(c1.size() == 0); assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); assert(c1.get_allocator() == Alloc(2)); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() >= 5); + assert(c2.bucket_count() >= 4); assert(c2.size() == 4); assert(c2.at(1) == "one"); assert(c2.at(2) == "two"); @@ -321,8 +322,8 @@ int main() assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); assert(c2.get_allocator() == Alloc(1)); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } { @@ -356,7 +357,7 @@ int main() c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() >= 11); + assert(c1.bucket_count() >= 8); assert(c1.size() == 8); assert(c1.at(10) == "ten"); assert(c1.at(20) == "twenty"); @@ -369,11 +370,11 @@ int main() assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); assert(c1.get_allocator() == Alloc(2)); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() >= 5); + assert(c2.bucket_count() >= 4); assert(c2.size() == 4); assert(c2.at(1) == "one"); assert(c2.at(2) == "two"); @@ -382,8 +383,8 @@ int main() assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); assert(c2.get_allocator() == Alloc(1)); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } #if TEST_STD_VER >= 11 @@ -397,22 +398,22 @@ int main() c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() == 0); + LIBCPP_ASSERT(c1.bucket_count() == 0); assert(c1.size() == 0); assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); assert(c1.get_allocator() == Alloc()); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() == 0); + LIBCPP_ASSERT(c2.bucket_count() == 0); assert(c2.size() == 0); assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); assert(c2.get_allocator() == Alloc()); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } { @@ -437,7 +438,7 @@ int main() c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() >= 11); + assert(c1.bucket_count() >= 8); assert(c1.size() == 8); assert(c1.at(10) == "ten"); assert(c1.at(20) == "twenty"); @@ -450,17 +451,17 @@ int main() assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); assert(c1.get_allocator() == Alloc()); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() == 0); + LIBCPP_ASSERT(c2.bucket_count() == 0); assert(c2.size() == 0); assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); assert(c2.get_allocator() == Alloc()); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } { @@ -483,16 +484,16 @@ int main() c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() == 0); + LIBCPP_ASSERT(c1.bucket_count() == 0); assert(c1.size() == 0); assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); assert(c1.get_allocator() == Alloc()); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() >= 5); + assert(c2.bucket_count() >= 4); assert(c2.size() == 4); assert(c2.at(1) == "one"); assert(c2.at(2) == "two"); @@ -501,8 +502,8 @@ int main() assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); assert(c2.get_allocator() == Alloc()); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } { @@ -536,7 +537,7 @@ int main() c2.max_load_factor(2); c1.swap(c2); - assert(c1.bucket_count() >= 11); + assert(c1.bucket_count() >= 8); assert(c1.size() == 8); assert(c1.at(10) == "ten"); assert(c1.at(20) == "twenty"); @@ -549,11 +550,11 @@ int main() assert(c1.hash_function() == Hash(2)); assert(c1.key_eq() == Compare(2)); assert(c1.get_allocator() == Alloc()); - assert(std::distance(c1.begin(), c1.end()) == c1.size()); - assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.begin(), c1.end())) == c1.size()); + assert(static_cast<std::size_t>(std::distance(c1.cbegin(), c1.cend())) == c1.size()); assert(c1.max_load_factor() == 2); - assert(c2.bucket_count() >= 5); + assert(c2.bucket_count() >= 4); assert(c2.size() == 4); assert(c2.at(1) == "one"); assert(c2.at(2) == "two"); @@ -562,8 +563,8 @@ int main() assert(c2.hash_function() == Hash(1)); assert(c2.key_eq() == Compare(1)); assert(c2.get_allocator() == Alloc()); - assert(std::distance(c2.begin(), c2.end()) == c2.size()); - assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.begin(), c2.end())) == c2.size()); + assert(static_cast<std::size_t>(std::distance(c2.cbegin(), c2.cend())) == c2.size()); assert(c2.max_load_factor() == 1); } #endif |