diff options
Diffstat (limited to 'src/boost/libs/phoenix/test/container/container_tests10b.cpp')
-rw-r--r-- | src/boost/libs/phoenix/test/container/container_tests10b.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/boost/libs/phoenix/test/container/container_tests10b.cpp b/src/boost/libs/phoenix/test/container/container_tests10b.cpp new file mode 100644 index 00000000..5ff194a9 --- /dev/null +++ b/src/boost/libs/phoenix/test/container/container_tests10b.cpp @@ -0,0 +1,74 @@ +/*============================================================================= + Copyright (c) 2004 Angus Leeming + Copyright (c) 2017 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#include "container_tests.hpp" +#include <boost/static_assert.hpp> + +std::unordered_map<int, int> const build_unordered_map() +{ + typedef std::unordered_map<int, int> int_map; + typedef std::vector<int> int_vector; + + int_map result; + int_vector const data = build_vector(); + int_vector::const_iterator it = data.begin(); + int_vector::const_iterator const end = data.end(); + for (; it != end; ++it) { + int const value = *it; + result[value] = 100 * value; + } + return result; +} + +std::unordered_multimap<int, int> const build_unordered_multimap() +{ + typedef std::unordered_map<int, int> int_map; + typedef std::unordered_multimap<int, int> int_multimap; + int_map const data = build_unordered_map(); + return int_multimap(data.begin(), data.end()); +} + +std::vector<int> const init_vector() +{ + typedef std::vector<int> int_vector; + int const data[] = { -4, -3, -2, -1, 0 }; + int_vector::size_type const data_size = sizeof(data) / sizeof(data[0]); + return int_vector(data, data + data_size); +} + +std::vector<int> const build_vector() +{ + typedef std::vector<int> int_vector; + static int_vector data = init_vector(); + int_vector::size_type const size = data.size(); + int_vector::iterator it = data.begin(); + int_vector::iterator const end = data.end(); + for (; it != end; ++it) + *it += size; + return data; +} + +int +main() +{ + BOOST_STATIC_ASSERT((phx::stl::has_mapped_type<std::unordered_multimap<int, int> >::value)); + BOOST_STATIC_ASSERT((phx::stl::has_key_type<std::unordered_multimap<int, int> >::value)); + + std::unordered_multimap<int, int> const data = build_unordered_multimap(); + test_multimap_insert(data); + //test_key_comp(data); + test_max_size(data); + //test_rbegin(data); + //test_rend(data); + test_size(data); + //test_value_comp(data); + return boost::report_errors(); +} + + + + |