diff --git a/doc/changes.qbk b/doc/changes.qbk index 45267739..03fe1987 100644 --- a/doc/changes.qbk +++ b/doc/changes.qbk @@ -281,7 +281,6 @@ C++11 support has resulted in some breaking changes: [h2 Boost 1.63.0] -* Implement missing allocator aware constructors. * Check hint iterator in `insert`/`emplace_hint`. * Fix some warnings, mostly in the tests. * Manually write out `emplace_args` for small numbers of arguments - diff --git a/doc/ref.php b/doc/ref.php index 8ca01919..d2fb2b42 100644 --- a/doc/ref.php +++ b/doc/ref.php @@ -246,12 +246,7 @@ EOL; allocator_type() - Constructs an empty container with at least n buckets, - using hf as the hash function, - eq as the key equality predicate, - a as the allocator and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - + Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0 and inserts the elements from [f, l) into it. If the defaults are used, hasher, key_equal and @@ -315,168 +310,6 @@ EOL; Constructs an container, copying x's contained elements, hash function, predicate, maximum load factor, but using allocator a. - - - && - - - Allocator const& - - - Construct a container moving x's contained elements, and having the hash function, predicate and maximum load factor, but using allocate a. - - - This is implemented using Boost.Move. - - - - value_type is move insertable. - - - - - - initializer_list<value_type> - - - size_type - implementation-defined - - - hasher const& - hasher() - - - key_equal const& - key_equal() - - - allocator_type const& - allocator_type() - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - eq as the key equality predicate, - a as the allocator and a maximum load factor of 1.0 - and inserts the elements from il into it. - - - - If the defaults are used, hasher, key_equal and - allocator_type need to be DefaultConstructible. - - - - - - size_type - - - allocator_type const& - - - size() == 0 - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - the default hash function and key equality predicate, - a as the allocator and a maximum load factor of 1.0. - - - hasher and key_equal need to be DefaultConstructible. - - - - - - size_type - - - hasher const& - - - allocator_type const& - - - size() == 0 - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - the default key equality predicate, - a as the allocator and a maximum load factor of 1.0. - - - key_equal needs to be DefaultConstructible. - - - - - - - InputIterator - - - InputIterator - - - size_type - - - allocator_type const& - - - Constructs an empty container with at least n buckets, - using a as the allocator, with the - default hash function and key equality predicate - and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - - - - hasher, key_equal need to be DefaultConstructible. - - - - - - - InputIterator - - - InputIterator - - - size_type - - - hasher const& - - - allocator_type const& - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - a as the allocator, with the - default key equality predicate - and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - - - - key_equal needs to be DefaultConstructible. - - - The destructor is applied to every element, and all memory is deallocated diff --git a/doc/ref.xml b/doc/ref.xml index cb77d263..d03e8dd3 100644 --- a/doc/ref.xml +++ b/doc/ref.xml @@ -187,12 +187,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) allocator_type() - Constructs an empty container with at least n buckets, - using hf as the hash function, - eq as the key equality predicate, - a as the allocator and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - + Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0 and inserts the elements from [f, l) into it. If the defaults are used, hasher, key_equal and @@ -256,168 +251,6 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Constructs an container, copying x's contained elements, hash function, predicate, maximum load factor, but using allocator a. - - - unordered_set && - - - Allocator const& - - - Construct a container moving x's contained elements, and having the hash function, predicate and maximum load factor, but using allocate a. - - - This is implemented using Boost.Move. - - - - value_type is move insertable. - - - - - - initializer_list<value_type> - - - size_type - implementation-defined - - - hasher const& - hasher() - - - key_equal const& - key_equal() - - - allocator_type const& - allocator_type() - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - eq as the key equality predicate, - a as the allocator and a maximum load factor of 1.0 - and inserts the elements from il into it. - - - - If the defaults are used, hasher, key_equal and - allocator_type need to be DefaultConstructible. - - - - - - size_type - - - allocator_type const& - - - size() == 0 - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - the default hash function and key equality predicate, - a as the allocator and a maximum load factor of 1.0. - - - hasher and key_equal need to be DefaultConstructible. - - - - - - size_type - - - hasher const& - - - allocator_type const& - - - size() == 0 - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - the default key equality predicate, - a as the allocator and a maximum load factor of 1.0. - - - key_equal needs to be DefaultConstructible. - - - - - - - InputIterator - - - InputIterator - - - size_type - - - allocator_type const& - - - Constructs an empty container with at least n buckets, - using a as the allocator, with the - default hash function and key equality predicate - and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - - - - hasher, key_equal need to be DefaultConstructible. - - - - - - - InputIterator - - - InputIterator - - - size_type - - - hasher const& - - - allocator_type const& - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - a as the allocator, with the - default key equality predicate - and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - - - - key_equal needs to be DefaultConstructible. - - - The destructor is applied to every element, and all memory is deallocated @@ -1428,12 +1261,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) allocator_type() - Constructs an empty container with at least n buckets, - using hf as the hash function, - eq as the key equality predicate, - a as the allocator and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - + Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0 and inserts the elements from [f, l) into it. If the defaults are used, hasher, key_equal and @@ -1497,168 +1325,6 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Constructs an container, copying x's contained elements, hash function, predicate, maximum load factor, but using allocator a. - - - unordered_multiset && - - - Allocator const& - - - Construct a container moving x's contained elements, and having the hash function, predicate and maximum load factor, but using allocate a. - - - This is implemented using Boost.Move. - - - - value_type is move insertable. - - - - - - initializer_list<value_type> - - - size_type - implementation-defined - - - hasher const& - hasher() - - - key_equal const& - key_equal() - - - allocator_type const& - allocator_type() - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - eq as the key equality predicate, - a as the allocator and a maximum load factor of 1.0 - and inserts the elements from il into it. - - - - If the defaults are used, hasher, key_equal and - allocator_type need to be DefaultConstructible. - - - - - - size_type - - - allocator_type const& - - - size() == 0 - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - the default hash function and key equality predicate, - a as the allocator and a maximum load factor of 1.0. - - - hasher and key_equal need to be DefaultConstructible. - - - - - - size_type - - - hasher const& - - - allocator_type const& - - - size() == 0 - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - the default key equality predicate, - a as the allocator and a maximum load factor of 1.0. - - - key_equal needs to be DefaultConstructible. - - - - - - - InputIterator - - - InputIterator - - - size_type - - - allocator_type const& - - - Constructs an empty container with at least n buckets, - using a as the allocator, with the - default hash function and key equality predicate - and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - - - - hasher, key_equal need to be DefaultConstructible. - - - - - - - InputIterator - - - InputIterator - - - size_type - - - hasher const& - - - allocator_type const& - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - a as the allocator, with the - default key equality predicate - and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - - - - key_equal needs to be DefaultConstructible. - - - The destructor is applied to every element, and all memory is deallocated @@ -2678,12 +2344,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) allocator_type() - Constructs an empty container with at least n buckets, - using hf as the hash function, - eq as the key equality predicate, - a as the allocator and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - + Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0 and inserts the elements from [f, l) into it. If the defaults are used, hasher, key_equal and @@ -2747,168 +2408,6 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Constructs an container, copying x's contained elements, hash function, predicate, maximum load factor, but using allocator a. - - - unordered_map && - - - Allocator const& - - - Construct a container moving x's contained elements, and having the hash function, predicate and maximum load factor, but using allocate a. - - - This is implemented using Boost.Move. - - - - value_type is move insertable. - - - - - - initializer_list<value_type> - - - size_type - implementation-defined - - - hasher const& - hasher() - - - key_equal const& - key_equal() - - - allocator_type const& - allocator_type() - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - eq as the key equality predicate, - a as the allocator and a maximum load factor of 1.0 - and inserts the elements from il into it. - - - - If the defaults are used, hasher, key_equal and - allocator_type need to be DefaultConstructible. - - - - - - size_type - - - allocator_type const& - - - size() == 0 - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - the default hash function and key equality predicate, - a as the allocator and a maximum load factor of 1.0. - - - hasher and key_equal need to be DefaultConstructible. - - - - - - size_type - - - hasher const& - - - allocator_type const& - - - size() == 0 - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - the default key equality predicate, - a as the allocator and a maximum load factor of 1.0. - - - key_equal needs to be DefaultConstructible. - - - - - - - InputIterator - - - InputIterator - - - size_type - - - allocator_type const& - - - Constructs an empty container with at least n buckets, - using a as the allocator, with the - default hash function and key equality predicate - and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - - - - hasher, key_equal need to be DefaultConstructible. - - - - - - - InputIterator - - - InputIterator - - - size_type - - - hasher const& - - - allocator_type const& - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - a as the allocator, with the - default key equality predicate - and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - - - - key_equal needs to be DefaultConstructible. - - - The destructor is applied to every element, and all memory is deallocated @@ -3966,12 +3465,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) allocator_type() - Constructs an empty container with at least n buckets, - using hf as the hash function, - eq as the key equality predicate, - a as the allocator and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - + Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0 and inserts the elements from [f, l) into it. If the defaults are used, hasher, key_equal and @@ -4035,168 +3529,6 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Constructs an container, copying x's contained elements, hash function, predicate, maximum load factor, but using allocator a. - - - unordered_multimap && - - - Allocator const& - - - Construct a container moving x's contained elements, and having the hash function, predicate and maximum load factor, but using allocate a. - - - This is implemented using Boost.Move. - - - - value_type is move insertable. - - - - - - initializer_list<value_type> - - - size_type - implementation-defined - - - hasher const& - hasher() - - - key_equal const& - key_equal() - - - allocator_type const& - allocator_type() - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - eq as the key equality predicate, - a as the allocator and a maximum load factor of 1.0 - and inserts the elements from il into it. - - - - If the defaults are used, hasher, key_equal and - allocator_type need to be DefaultConstructible. - - - - - - size_type - - - allocator_type const& - - - size() == 0 - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - the default hash function and key equality predicate, - a as the allocator and a maximum load factor of 1.0. - - - hasher and key_equal need to be DefaultConstructible. - - - - - - size_type - - - hasher const& - - - allocator_type const& - - - size() == 0 - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - the default key equality predicate, - a as the allocator and a maximum load factor of 1.0. - - - key_equal needs to be DefaultConstructible. - - - - - - - InputIterator - - - InputIterator - - - size_type - - - allocator_type const& - - - Constructs an empty container with at least n buckets, - using a as the allocator, with the - default hash function and key equality predicate - and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - - - - hasher, key_equal need to be DefaultConstructible. - - - - - - - InputIterator - - - InputIterator - - - size_type - - - hasher const& - - - allocator_type const& - - - Constructs an empty container with at least n buckets, - using hf as the hash function, - a as the allocator, with the - default key equality predicate - and a maximum load factor of 1.0 - and inserts the elements from [f, l) into it. - - - - key_equal needs to be DefaultConstructible. - - - The destructor is applied to every element, and all memory is deallocated diff --git a/include/boost/unordered/unordered_map.hpp b/include/boost/unordered/unordered_map.hpp index 75b39d0f..fc6fbe0e 100644 --- a/include/boost/unordered/unordered_map.hpp +++ b/include/boost/unordered/unordered_map.hpp @@ -108,19 +108,6 @@ namespace unordered const key_equal&, const allocator_type&); - template - unordered_map( - InputIt, InputIt, - size_type, - const hasher&, - const allocator_type&); - - template - unordered_map( - InputIt, InputIt, - size_type, - const allocator_type&); - // copy/move constructors unordered_map(unordered_map const&); @@ -152,15 +139,6 @@ namespace unordered const hasher& = hasher(), const key_equal&l = key_equal(), const allocator_type& = allocator_type()); - unordered_map( - std::initializer_list, - size_type, - const hasher&, - const allocator_type&); - unordered_map( - std::initializer_list, - size_type, - const allocator_type&); #endif // Destructor @@ -592,13 +570,6 @@ namespace unordered const hasher& = hasher(), const key_equal& = key_equal(), const allocator_type& = allocator_type()); - explicit unordered_multimap( - size_type, - const allocator_type&); - explicit unordered_multimap( - size_type, - const hasher&, - const allocator_type&); explicit unordered_multimap(allocator_type const&); @@ -620,25 +591,11 @@ namespace unordered const key_equal&, const allocator_type&); - template - unordered_multimap( - InputIt, InputIt, - size_type, - const hasher&, - const allocator_type&); - - template - unordered_multimap( - InputIt, InputIt, - size_type, - const allocator_type&); - // copy/move constructors unordered_multimap(unordered_multimap const&); unordered_multimap(unordered_multimap const&, allocator_type const&); - unordered_multimap(BOOST_RV_REF(unordered_multimap), allocator_type const&); #if defined(BOOST_UNORDERED_USE_MOVE) unordered_multimap(BOOST_RV_REF(unordered_multimap) other) @@ -654,6 +611,10 @@ namespace unordered } #endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + unordered_multimap(unordered_multimap&&, allocator_type const&); +#endif + #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) unordered_multimap( std::initializer_list, @@ -661,15 +622,6 @@ namespace unordered const hasher& = hasher(), const key_equal&l = key_equal(), const allocator_type& = allocator_type()); - unordered_multimap( - std::initializer_list, - size_type, - const hasher&, - const allocator_type&); - unordered_multimap( - std::initializer_list, - size_type, - const allocator_type&); #endif // Destructor @@ -1107,31 +1059,6 @@ namespace unordered table_.insert_range(f, l); } - template - template - unordered_map::unordered_map( - InputIt f, InputIt l, - size_type n, - const hasher &hf, - const allocator_type &a) - : table_(boost::unordered::detail::initial_size(f, l, n), - hf, key_equal(), a) - { - table_.insert_range(f, l); - } - - template - template - unordered_map::unordered_map( - InputIt f, InputIt l, - size_type n, - const allocator_type &a) - : table_(boost::unordered::detail::initial_size(f, l, n), - hasher(), key_equal(), a) - { - table_.insert_range(f, l); - } - template unordered_map::~unordered_map() BOOST_NOEXCEPT {} @@ -1167,30 +1094,6 @@ namespace unordered table_.insert_range(list.begin(), list.end()); } - template - unordered_map::unordered_map( - std::initializer_list list, size_type n, - const hasher &hf, const allocator_type &a) - : table_( - boost::unordered::detail::initial_size( - list.begin(), list.end(), n), - hf, key_equal(), a) - { - table_.insert_range(list.begin(), list.end()); - } - - template - unordered_map::unordered_map( - std::initializer_list list, size_type n, - const allocator_type &a) - : table_( - boost::unordered::detail::initial_size( - list.begin(), list.end(), n), - hasher(), key_equal(), a) - { - table_.insert_range(list.begin(), list.end()); - } - template unordered_map& unordered_map::operator=( std::initializer_list list) @@ -1489,31 +1392,6 @@ namespace unordered table_.insert_range(f, l); } - template - template - unordered_multimap::unordered_multimap( - InputIt f, InputIt l, - size_type n, - const hasher &hf, - const allocator_type &a) - : table_(boost::unordered::detail::initial_size(f, l, n), - hf, key_equal(), a) - { - table_.insert_range(f, l); - } - - template - template - unordered_multimap::unordered_multimap( - InputIt f, InputIt l, - size_type n, - const allocator_type &a) - : table_(boost::unordered::detail::initial_size(f, l, n), - hasher(), key_equal(), a) - { - table_.insert_range(f, l); - } - template unordered_multimap::~unordered_multimap() BOOST_NOEXCEPT {} @@ -1549,30 +1427,6 @@ namespace unordered table_.insert_range(list.begin(), list.end()); } - template - unordered_multimap::unordered_multimap( - std::initializer_list list, size_type n, - const hasher &hf, const allocator_type &a) - : table_( - boost::unordered::detail::initial_size( - list.begin(), list.end(), n), - hf, key_equal(), a) - { - table_.insert_range(list.begin(), list.end()); - } - - template - unordered_multimap::unordered_multimap( - std::initializer_list list, size_type n, - const allocator_type &a) - : table_( - boost::unordered::detail::initial_size( - list.begin(), list.end(), n), - hasher(), key_equal(), a) - { - table_.insert_range(list.begin(), list.end()); - } - template unordered_multimap& unordered_multimap::operator=( std::initializer_list list) diff --git a/include/boost/unordered/unordered_set.hpp b/include/boost/unordered/unordered_set.hpp index 044cf1ac..aa9911bc 100644 --- a/include/boost/unordered/unordered_set.hpp +++ b/include/boost/unordered/unordered_set.hpp @@ -105,19 +105,6 @@ namespace unordered const key_equal&, const allocator_type&); - template - unordered_set( - InputIt, InputIt, - size_type, - const hasher&, - const allocator_type&); - - template - unordered_set( - InputIt, InputIt, - size_type, - const allocator_type&); - // copy/move constructors unordered_set(unordered_set const&); @@ -149,15 +136,6 @@ namespace unordered const hasher& = hasher(), const key_equal&l = key_equal(), const allocator_type& = allocator_type()); - unordered_set( - std::initializer_list, - size_type, - const hasher&, - const allocator_type&); - unordered_set( - std::initializer_list, - size_type, - const allocator_type&); #endif // Destructor @@ -596,19 +574,6 @@ namespace unordered const key_equal&, const allocator_type&); - template - unordered_multiset( - InputIt, InputIt, - size_type, - const hasher&, - const allocator_type&); - - template - unordered_multiset( - InputIt, InputIt, - size_type, - const allocator_type&); - // copy/move constructors unordered_multiset(unordered_multiset const&); @@ -640,15 +605,6 @@ namespace unordered const hasher& = hasher(), const key_equal&l = key_equal(), const allocator_type& = allocator_type()); - unordered_multiset( - std::initializer_list, - size_type, - const hasher&, - const allocator_type&); - unordered_multiset( - std::initializer_list, - size_type, - const allocator_type&); #endif // Destructor @@ -1077,31 +1033,6 @@ namespace unordered table_.insert_range(f, l); } - template - template - unordered_set::unordered_set( - InputIt f, InputIt l, - size_type n, - const hasher &hf, - const allocator_type &a) - : table_(boost::unordered::detail::initial_size(f, l, n), - hf, key_equal(), a) - { - table_.insert_range(f, l); - } - - template - template - unordered_set::unordered_set( - InputIt f, InputIt l, - size_type n, - const allocator_type &a) - : table_(boost::unordered::detail::initial_size(f, l, n), - hasher(), key_equal(), a) - { - table_.insert_range(f, l); - } - template unordered_set::~unordered_set() BOOST_NOEXCEPT {} @@ -1137,30 +1068,6 @@ namespace unordered table_.insert_range(list.begin(), list.end()); } - template - unordered_set::unordered_set( - std::initializer_list list, size_type n, - const hasher &hf, const allocator_type &a) - : table_( - boost::unordered::detail::initial_size( - list.begin(), list.end(), n), - hf, key_equal(), a) - { - table_.insert_range(list.begin(), list.end()); - } - - template - unordered_set::unordered_set( - std::initializer_list list, size_type n, - const allocator_type &a) - : table_( - boost::unordered::detail::initial_size( - list.begin(), list.end(), n), - hasher(), key_equal(), a) - { - table_.insert_range(list.begin(), list.end()); - } - template unordered_set& unordered_set::operator=( std::initializer_list list) @@ -1410,31 +1317,6 @@ namespace unordered table_.insert_range(f, l); } - template - template - unordered_multiset::unordered_multiset( - InputIt f, InputIt l, - size_type n, - const hasher &hf, - const allocator_type &a) - : table_(boost::unordered::detail::initial_size(f, l, n), - hf, key_equal(), a) - { - table_.insert_range(f, l); - } - - template - template - unordered_multiset::unordered_multiset( - InputIt f, InputIt l, - size_type n, - const allocator_type &a) - : table_(boost::unordered::detail::initial_size(f, l, n), - hasher(), key_equal(), a) - { - table_.insert_range(f, l); - } - template unordered_multiset::~unordered_multiset() BOOST_NOEXCEPT {} @@ -1470,30 +1352,6 @@ namespace unordered table_.insert_range(list.begin(), list.end()); } - template - unordered_multiset::unordered_multiset( - std::initializer_list list, size_type n, - const hasher &hf, const allocator_type &a) - : table_( - boost::unordered::detail::initial_size( - list.begin(), list.end(), n), - hf, key_equal(), a) - { - table_.insert_range(list.begin(), list.end()); - } - - template - unordered_multiset::unordered_multiset( - std::initializer_list list, size_type n, - const allocator_type &a) - : table_( - boost::unordered::detail::initial_size( - list.begin(), list.end(), n), - hasher(), key_equal(), a) - { - table_.insert_range(list.begin(), list.end()); - } - template unordered_multiset& unordered_multiset::operator=( std::initializer_list list) diff --git a/test/unordered/compile_tests.hpp b/test/unordered/compile_tests.hpp index fb9a864d..12c72c9e 100644 --- a/test/unordered/compile_tests.hpp +++ b/test/unordered/compile_tests.hpp @@ -111,7 +111,6 @@ void container_test(X& r, T const&) sink(X(a)); X u2(a); X u3 = a; - X u4(rvalue(a_const)); a.swap(b); boost::swap(a, b); @@ -121,24 +120,12 @@ void container_test(X& r, T const&) typedef BOOST_DEDUCED_TYPENAME X::allocator_type allocator_type; test::check_return_type::equals(a_const.get_allocator()); - - allocator_type m = a.get_allocator(); - sink(X(m)); - X c(m); - sink(X(a_const, m)); - X c2(a_const, m); - sink(X(rvalue(a_const), m)); - X c3(rvalue(a_const), m); // Avoid unused variable warnings: sink(u); sink(u2); sink(u3); - sink(u4); - sink(c); - sink(c2); - sink(c3); } template @@ -462,15 +449,14 @@ void unordered_copyable_test(X& x, Key& k, T& t, Hash& hf, Pred& eq) typedef BOOST_DEDUCED_TYPENAME X::iterator iterator; typedef BOOST_DEDUCED_TYPENAME X::const_iterator const_iterator; - typedef BOOST_DEDUCED_TYPENAME X::allocator_type allocator_type; X a; - allocator_type m = a.get_allocator(); BOOST_DEDUCED_TYPENAME X::value_type* i = 0; BOOST_DEDUCED_TYPENAME X::value_type* j = 0; X(i, j, 10, hf, eq); + X a5(i, j, 10, hf, eq); X(i, j, 10, hf); X a6(i, j, 10, hf); @@ -479,22 +465,6 @@ void unordered_copyable_test(X& x, Key& k, T& t, Hash& hf, Pred& eq) X(i, j); X a8(i, j); - X(i, j, 10, hf, m); - X(i, j, 10, m); - //X(i, j, m); - -#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) - std::size_t min_buckets = 10; - X({t}); - X({t}, min_buckets); - X({t}, min_buckets, hf); - X({t}, min_buckets, hf, eq); - //X({t}, m); - X({t}, min_buckets, m); - X({t}, min_buckets, hf, m); - X({t}, min_buckets, hf, eq, m); -#endif - X const b; sink(X(b)); X a9(b);