From 10b4aaa13e6a5a149f50835d8fdd25c20a9f4c8a Mon Sep 17 00:00:00 2001 From: Christian Mazakas Date: Wed, 20 Sep 2023 09:32:25 -0700 Subject: [PATCH] Remove dependency on Boost.Tuple --- .../boost/unordered/detail/implementation.hpp | 65 +++--- test/unordered/compile_tests.hpp | 1 + test/unordered/emplace_tests.cpp | 185 ++++++++++++------ test/unordered/insert_tests.cpp | 1 + test/unordered/unnecessary_copy_tests.cpp | 2 + 5 files changed, 166 insertions(+), 88 deletions(-) diff --git a/include/boost/unordered/detail/implementation.hpp b/include/boost/unordered/detail/implementation.hpp index da8551fc..be12dff1 100644 --- a/include/boost/unordered/detail/implementation.hpp +++ b/include/boost/unordered/detail/implementation.hpp @@ -31,7 +31,6 @@ #include #include #include -#include #include #include #include @@ -55,6 +54,12 @@ #include #include +namespace boost { + namespace tuples { + struct null_type; + } +} // namespace boost + // BOOST_UNORDERED_SUPPRESS_DEPRECATED // // Define to stop deprecation attributes @@ -543,13 +548,10 @@ namespace boost { // For backwards compatibility, implement a special case for // piecewise_construct with boost::tuple - template struct detect_boost_tuple + template struct detect_std_tuple { - template - static choice1::type test(choice1, - boost::tuple const&); + template + static choice1::type test(choice1, std::tuple const&); static choice2::type test(choice2, ...); @@ -562,25 +564,27 @@ namespace boost { // Special case for piecewise_construct - template + template