// 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 #define INSTANTIATE(type) \ template class boost::unordered::detail::instantiate_##type INSTANTIATE(map), std::equal_to, test::minimal::allocator >; INSTANTIATE(multimap), std::equal_to, test::minimal::allocator >; INSTANTIATE( map), test::minimal::equal_to, test::minimal::allocator >; INSTANTIATE(multimap), test::minimal::equal_to, test::minimal::allocator >; #endif template