size.pass.cpp revision b64f8b07c104c6cc986570ac8ee0ed16a9f23976
16e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)//===----------------------------------------------------------------------===// 26e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// 36e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// The LLVM Compiler Infrastructure 46e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// 56e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// This file is dual licensed under the MIT and the University of Illinois Open 66e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// Source Licenses. See LICENSE.TXT for details. 76e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// 86e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)//===----------------------------------------------------------------------===// 96e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 106e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// <unordered_map> 116e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 126e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// template <class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>, 136e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// class Alloc = allocator<pair<const Key, T>>> 146e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// class unordered_map 156e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 166e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// unordered_map(size_type n); 176e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 186e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include <unordered_map> 196e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include <cassert> 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 216e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "../../../NotConstructible.h" 226e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "../../../test_compare.h" 236e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "../../../test_hash.h" 246e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "../../../test_allocator.h" 256e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)int main() 276e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles){ 286e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) { 296e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) typedef std::unordered_map<NotConstructible, NotConstructible, 306e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) test_hash<std::hash<NotConstructible> >, 316e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) test_compare<std::equal_to<NotConstructible> >, 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) test_allocator<std::pair<const NotConstructible, 336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) NotConstructible> > 346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) > C; 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) C c(7); 366e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert(c.bucket_count() == 7); 376e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert(c.hash_function() == test_hash<std::hash<NotConstructible> >()); 386e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert(c.key_eq() == test_compare<std::equal_to<NotConstructible> >()); 396e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert(c.get_allocator() == 406e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) (test_allocator<std::pair<const NotConstructible, NotConstructible> >())); 416e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert(c.size() == 0); 426e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert(c.empty()); 436e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert(std::distance(c.begin(), c.end()) == 0); 446e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert(c.load_factor() == 0); 456e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert(c.max_load_factor() == 1); 466e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 476e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)} 486e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)