swap_member.pass.cpp revision f5256e16dfc425c1d466f6308d4026d529ce9e0b
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===// 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The LLVM Compiler Infrastructure 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file is distributed under the University of Illinois Open Source 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// License. See LICENSE.TXT for details. 7a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// 8424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)//===----------------------------------------------------------------------===// 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)// <unordered_map> 1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// template <class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>, 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// class Alloc = allocator<pair<const Key, T>>> 149ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// class unordered_map 15868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// void swap(unordered_map& __u); 177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include <unordered_map> 19868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include <string> 2068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#include <cassert> 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "../../test_compare.h" 23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "../../test_hash.h" 24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "../../test_allocator.h" 25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 2668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)int main() 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles){ 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) typedef test_hash<std::hash<int> > Hash; 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef test_compare<std::equal_to<int> > Compare; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef test_allocator<std::pair<const int, std::string> > Alloc; 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci typedef std::unordered_map<int, std::string, Hash, Compare, Alloc> C; 33effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch typedef std::pair<int, std::string> P; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) C c1(0, Hash(1), Compare(1), Alloc(1)); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) C c2(0, Hash(2), Compare(2), Alloc(2)); 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) c2.max_load_factor(2); 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) c1.swap(c2); 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.bucket_count() == 0); 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.size() == 0); 4146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) assert(c1.hash_function() == Hash(2)); 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.key_eq() == Compare(2)); 43010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) assert(c1.get_allocator() == Alloc(1)); 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(std::distance(c1.begin(), c1.end()) == c1.size()); 4546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); 46f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) assert(c1.max_load_factor() == 2); 477d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 487d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) assert(c2.bucket_count() == 0); 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.size() == 0); 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.hash_function() == Hash(1)); 51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) assert(c2.key_eq() == Compare(1)); 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.get_allocator() == Alloc(2)); 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(std::distance(c2.begin(), c2.end()) == c2.size()); 541e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.max_load_factor() == 1); 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 57a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) { 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef test_hash<std::hash<int> > Hash; 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef test_compare<std::equal_to<int> > Compare; 6023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) typedef test_allocator<std::pair<const int, std::string> > Alloc; 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef std::unordered_map<int, std::string, Hash, Compare, Alloc> C; 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef std::pair<int, std::string> P; 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P a2[] = 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) P(10, "ten"), 66116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch P(20, "twenty"), 67d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) P(30, "thirty"), 68d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) P(40, "fourty"), 6968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) P(50, "fifty"), 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(60, "sixty"), 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(70, "seventy"), 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(80, "eighty"), 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) C c1(0, Hash(1), Compare(1), Alloc(1)); 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) C c2(std::begin(a2), std::end(a2), 0, Hash(2), Compare(2), Alloc(2)); 76effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch c2.max_load_factor(2); 77effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch c1.swap(c2); 78effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 79effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch assert(c1.bucket_count() >= 11); 805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.size() == 8); 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.at(10) == "ten"); 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.at(20) == "twenty"); 832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(30) == "thirty"); 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(40) == "fourty"); 855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(50) == "fifty"); 86f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) assert(c1.at(60) == "sixty"); 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.at(70) == "seventy"); 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(80) == "eighty"); 89d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) assert(c1.hash_function() == Hash(2)); 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.key_eq() == Compare(2)); 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.get_allocator() == Alloc(1)); 92c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch assert(std::distance(c1.begin(), c1.end()) == c1.size()); 93e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); 94c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch assert(c1.max_load_factor() == 2); 95c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 96e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch assert(c2.bucket_count() == 0); 97e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch assert(c2.size() == 0); 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.hash_function() == Hash(1)); 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.key_eq() == Compare(1)); 1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.get_allocator() == Alloc(2)); 101f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) assert(std::distance(c2.begin(), c2.end()) == c2.size()); 10246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); 10346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) assert(c2.max_load_factor() == 1); 104f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef test_hash<std::hash<int> > Hash; 107558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch typedef test_compare<std::equal_to<int> > Compare; 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef test_allocator<std::pair<const int, std::string> > Alloc; 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef std::unordered_map<int, std::string, Hash, Compare, Alloc> C; 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef std::pair<int, std::string> P; 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P a1[] = 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(1, "one"), 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(2, "two"), 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(3, "three"), 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(4, "four"), 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(1, "four"), 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(2, "four"), 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) C c1(std::begin(a1), std::end(a1), 0, Hash(1), Compare(1), Alloc(1)); 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) C c2(0, Hash(2), Compare(2), Alloc(2)); 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) c2.max_load_factor(2); 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) c1.swap(c2); 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.bucket_count() == 0); 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.size() == 0); 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.hash_function() == Hash(2)); 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.key_eq() == Compare(2)); 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.get_allocator() == Alloc(1)); 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(std::distance(c1.begin(), c1.end()) == c1.size()); 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.max_load_factor() == 2); 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.bucket_count() >= 5); 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.size() == 4); 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.at(1) == "one"); 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.at(2) == "two"); 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.at(3) == "three"); 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.at(4) == "four"); 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.hash_function() == Hash(1)); 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.key_eq() == Compare(1)); 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.get_allocator() == Alloc(2)); 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(std::distance(c2.begin(), c2.end()) == c2.size()); 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.max_load_factor() == 1); 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef test_hash<std::hash<int> > Hash; 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef test_compare<std::equal_to<int> > Compare; 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef test_allocator<std::pair<const int, std::string> > Alloc; 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef std::unordered_map<int, std::string, Hash, Compare, Alloc> C; 1525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) typedef std::pair<int, std::string> P; 153a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) P a1[] = 154a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) { 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(1, "one"), 1562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(2, "two"), 1572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(3, "three"), 1582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(4, "four"), 1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(1, "four"), 1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(2, "four"), 1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }; 1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P a2[] = 163ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch { 1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(10, "ten"), 1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(20, "twenty"), 1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(30, "thirty"), 1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(40, "fourty"), 1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(50, "fifty"), 1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(60, "sixty"), 1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(70, "seventy"), 1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(80, "eighty"), 1722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }; 1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) C c1(std::begin(a1), std::end(a1), 0, Hash(1), Compare(1), Alloc(1)); 1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) C c2(std::begin(a2), std::end(a2), 0, Hash(2), Compare(2), Alloc(2)); 1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) c2.max_load_factor(2); 176a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) c1.swap(c2); 177a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 1782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.bucket_count() >= 11); 1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.size() == 8); 1802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(10) == "ten"); 1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(20) == "twenty"); 1822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(30) == "thirty"); 1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(40) == "fourty"); 184ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch assert(c1.at(50) == "fifty"); 1852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(60) == "sixty"); 1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(70) == "seventy"); 1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(80) == "eighty"); 1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.hash_function() == Hash(2)); 1892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.key_eq() == Compare(2)); 1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.get_allocator() == Alloc(1)); 1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(std::distance(c1.begin(), c1.end()) == c1.size()); 1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); 1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.max_load_factor() == 2); 1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.bucket_count() >= 5); 1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.size() == 4); 1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.at(1) == "one"); 1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.at(2) == "two"); 1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.at(3) == "three"); 2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.at(4) == "four"); 2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.hash_function() == Hash(1)); 2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.key_eq() == Compare(1)); 2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.get_allocator() == Alloc(2)); 2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(std::distance(c2.begin(), c2.end()) == c2.size()); 2052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); 2062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.max_load_factor() == 1); 2072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 2082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) { 2105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) typedef test_hash<std::hash<int> > Hash; 2115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) typedef test_compare<std::equal_to<int> > Compare; 2125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) typedef other_allocator<std::pair<const int, std::string> > Alloc; 2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef std::unordered_map<int, std::string, Hash, Compare, Alloc> C; 2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef std::pair<int, std::string> P; 2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) C c1(0, Hash(1), Compare(1), Alloc(1)); 2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) C c2(0, Hash(2), Compare(2), Alloc(2)); 2172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) c2.max_load_factor(2); 2182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) c1.swap(c2); 2192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.bucket_count() == 0); 2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.size() == 0); 2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.hash_function() == Hash(2)); 2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.key_eq() == Compare(2)); 2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.get_allocator() == Alloc(2)); 2252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(std::distance(c1.begin(), c1.end()) == c1.size()); 2262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); 2272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.max_load_factor() == 2); 2282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.bucket_count() == 0); 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.size() == 0); 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.hash_function() == Hash(1)); 2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c2.key_eq() == Compare(1)); 233f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) assert(c2.get_allocator() == Alloc(1)); 234f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) assert(std::distance(c2.begin(), c2.end()) == c2.size()); 235f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); 236f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) assert(c2.max_load_factor() == 1); 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 238116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 239116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch typedef test_hash<std::hash<int> > Hash; 240116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch typedef test_compare<std::equal_to<int> > Compare; 241116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch typedef other_allocator<std::pair<const int, std::string> > Alloc; 242116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch typedef std::unordered_map<int, std::string, Hash, Compare, Alloc> C; 243116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch typedef std::pair<int, std::string> P; 244116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch P a2[] = 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 246116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch P(10, "ten"), 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(20, "twenty"), 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(30, "thirty"), 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(40, "fourty"), 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(50, "fifty"), 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(60, "sixty"), 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(70, "seventy"), 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P(80, "eighty"), 2542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }; 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) C c1(0, Hash(1), Compare(1), Alloc(1)); 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) C c2(std::begin(a2), std::end(a2), 0, Hash(2), Compare(2), Alloc(2)); 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) c2.max_load_factor(2); 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) c1.swap(c2); 2592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.bucket_count() >= 11); 2615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.size() == 8); 2625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(10) == "ten"); 2635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(20) == "twenty"); 2645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(30) == "thirty"); 2655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(40) == "fourty"); 2665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(50) == "fifty"); 2675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(60) == "sixty"); 2685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(70) == "seventy"); 2695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(80) == "eighty"); 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.hash_function() == Hash(2)); 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.key_eq() == Compare(2)); 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.get_allocator() == Alloc(2)); 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(std::distance(c1.begin(), c1.end()) == c1.size()); 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.max_load_factor() == 2); 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 27723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) assert(c2.bucket_count() == 0); 27823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) assert(c2.size() == 0); 27923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) assert(c2.hash_function() == Hash(1)); 28023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) assert(c2.key_eq() == Compare(1)); 28123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) assert(c2.get_allocator() == Alloc(1)); 28223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) assert(std::distance(c2.begin(), c2.end()) == c2.size()); 28323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); 28423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) assert(c2.max_load_factor() == 1); 28523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) } 28623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) { 2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef test_hash<std::hash<int> > Hash; 2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef test_compare<std::equal_to<int> > Compare; 2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef other_allocator<std::pair<const int, std::string> > Alloc; 2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef std::unordered_map<int, std::string, Hash, Compare, Alloc> C; 2912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef std::pair<int, std::string> P; 2922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P a1[] = 2932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { 2942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(1, "one"), 2952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(2, "two"), 2962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(3, "three"), 2972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(4, "four"), 2982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(1, "four"), 2992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(2, "four"), 3002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }; 3012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) C c1(std::begin(a1), std::end(a1), 0, Hash(1), Compare(1), Alloc(1)); 3022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) C c2(0, Hash(2), Compare(2), Alloc(2)); 3032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) c2.max_load_factor(2); 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) c1.swap(c2); 3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.bucket_count() == 0); 3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.size() == 0); 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.hash_function() == Hash(2)); 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.key_eq() == Compare(2)); 3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(c1.get_allocator() == Alloc(2)); 3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(std::distance(c1.begin(), c1.end()) == c1.size()); 3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); 3132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.max_load_factor() == 2); 314f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 315f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) assert(c2.bucket_count() >= 5); 316f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) assert(c2.size() == 4); 317f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) assert(c2.at(1) == "one"); 318f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) assert(c2.at(2) == "two"); 3190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch assert(c2.at(3) == "three"); 320f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) assert(c2.at(4) == "four"); 321f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) assert(c2.hash_function() == Hash(1)); 322f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) assert(c2.key_eq() == Compare(1)); 323f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) assert(c2.get_allocator() == Alloc(1)); 324116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch assert(std::distance(c2.begin(), c2.end()) == c2.size()); 325116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); 326116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch assert(c2.max_load_factor() == 1); 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 3292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef test_hash<std::hash<int> > Hash; 3302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef test_compare<std::equal_to<int> > Compare; 3312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef other_allocator<std::pair<const int, std::string> > Alloc; 3322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef std::unordered_map<int, std::string, Hash, Compare, Alloc> C; 3332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef std::pair<int, std::string> P; 3342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P a1[] = 3352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { 3362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(1, "one"), 3372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(2, "two"), 3382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(3, "three"), 3392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(4, "four"), 3402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(1, "four"), 3412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(2, "four"), 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) P a2[] = 3442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { 3452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(10, "ten"), 3465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) P(20, "twenty"), 3475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) P(30, "thirty"), 3482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(40, "fourty"), 3492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(50, "fifty"), 3502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(60, "sixty"), 3512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) P(70, "seventy"), 3525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) P(80, "eighty"), 3532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }; 3542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) C c1(std::begin(a1), std::end(a1), 0, Hash(1), Compare(1), Alloc(1)); 3552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) C c2(std::begin(a2), std::end(a2), 0, Hash(2), Compare(2), Alloc(2)); 3565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) c2.max_load_factor(2); 3572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) c1.swap(c2); 3582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 3592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.bucket_count() >= 11); 3602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.size() == 8); 3612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(10) == "ten"); 3622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(20) == "twenty"); 3632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(30) == "thirty"); 3645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(40) == "fourty"); 3655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(50) == "fifty"); 3665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(60) == "sixty"); 3675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c1.at(70) == "seventy"); 3682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.at(80) == "eighty"); 3692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.hash_function() == Hash(2)); 3702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.key_eq() == Compare(2)); 3712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.get_allocator() == Alloc(2)); 3722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(std::distance(c1.begin(), c1.end()) == c1.size()); 3732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(std::distance(c1.cbegin(), c1.cend()) == c1.size()); 3742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c1.max_load_factor() == 2); 3755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 3765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c2.bucket_count() >= 5); 3772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.size() == 4); 378c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) assert(c2.at(1) == "one"); 3795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c2.at(2) == "two"); 3805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c2.at(3) == "three"); 3812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.at(4) == "four"); 3825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert(c2.hash_function() == Hash(1)); 3832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.key_eq() == Compare(1)); 3842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(c2.get_allocator() == Alloc(1)); 385868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) assert(std::distance(c2.begin(), c2.end()) == c2.size()); 386868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) assert(std::distance(c2.cbegin(), c2.cend()) == c2.size()); 387868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) assert(c2.max_load_factor() == 1); 388868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) } 389868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 3902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)