diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 3fdc0edb..b598a6a9 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -108,6 +108,7 @@ build_foa compile_set ; build_foa compile_map ; build_foa noexcept_tests ; run unordered/link_test_1.cpp unordered/link_test_2.cpp : : : 98:no 03:no 0x:no BOOST_UNORDERED_FOA_TESTS : foa_link_test ; +build_foa incomplete_test ; build_foa constructor_tests ; build_foa copy_tests ; build_foa move_tests ; diff --git a/test/unordered/incomplete_test.cpp b/test/unordered/incomplete_test.cpp index 09afcba6..76e8c7f5 100644 --- a/test/unordered/incomplete_test.cpp +++ b/test/unordered/incomplete_test.cpp @@ -5,8 +5,14 @@ // clang-format off #include "../helpers/prefix.hpp" +#ifdef BOOST_UNORDERED_FOA_TESTS +#include +#include +#include +#else #include #include +#endif #include "../helpers/postfix.hpp" // clang-format on @@ -15,7 +21,11 @@ namespace x { struct D { +#ifdef BOOST_UNORDERED_FOA_TESTS + boost::unordered_flat_map x; +#else boost::unordered_map x; +#endif }; } @@ -29,6 +39,17 @@ namespace incomplete_test { // Declare some instances +#ifdef BOOST_UNORDERED_FOA_TESTS + typedef boost::unordered_flat_map > > + map; + typedef boost::unordered_flat_map > > + multimap; + typedef boost::unordered_flat_set > set; + typedef boost::unordered_flat_set > + multiset; +#else typedef boost::unordered_map > > map; @@ -38,6 +59,7 @@ namespace incomplete_test { typedef boost::unordered_set > set; typedef boost::unordered_multiset > multiset; +#endif // Now define the types which are stored as members, as they are needed for // declaring struct members. @@ -76,7 +98,28 @@ namespace incomplete_test { // // Incomplete hash, equals and allocator aren't here supported at the // moment. - +#ifdef BOOST_UNORDERED_FOA_TESTS + struct struct1 + { + boost::unordered_flat_map > > + x; + }; + struct struct2 + { + boost::unordered_flat_map > > + x; + }; + struct struct3 + { + boost::unordered_flat_set > x; + }; + struct struct4 + { + boost::unordered_flat_set > x; + }; +#else struct struct1 { boost::unordered_map > x; }; - +#endif // Now define the value type. struct value