// Copyright 2006-2009 Daniel James. // Copyright 2022-2023 Christian Mazakas. // 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) // This test creates the containers with members that meet their minimum // requirements. Makes sure everything compiles and is defined correctly. #include "../helpers/unordered.hpp" #include "../helpers/test.hpp" #include "../objects/minimal.hpp" #include "./compile_tests.hpp" // Explicit instantiation to catch compile-time errors #ifdef BOOST_UNORDERED_FOA_TESTS // emulates what was already done for previous tests but without leaking to // the detail namespace // template class instantiate_flat_map { typedef boost::unordered_flat_map container; container x; }; template class instantiate_flat_map, std::equal_to, test::minimal::allocator >; template class instantiate_flat_map, test::minimal::equal_to, test::minimal::allocator >; template class instantiate_node_map { typedef boost::unordered_node_map container; container x; }; template class instantiate_node_map, std::equal_to, test::minimal::allocator >; template class instantiate_node_map, test::minimal::equal_to, test::minimal::allocator >; #else template class instantiate_map { typedef boost::unordered_map container; container x; typename container::node_type node_type; typename container::insert_return_type insert_return_type; }; template class instantiate_multimap { typedef boost::unordered_multimap container; container x; typename container::node_type node_type; }; template class instantiate_map, std::equal_to, test::minimal::allocator >; template class instantiate_multimap, std::equal_to, test::minimal::allocator >; template class instantiate_map, test::minimal::equal_to, test::minimal::allocator >; template class instantiate_multimap, test::minimal::equal_to, test::minimal::allocator >; #endif template