From 7501eefd878ade72d185eade1d23c29aacd40398 Mon Sep 17 00:00:00 2001 From: Christian Mazakas Date: Wed, 5 Oct 2022 13:29:48 -0700 Subject: [PATCH] Updated unordered flat container to use declval instead of allocator_traits as old versions of clang don't have is_always_equal --- include/boost/unordered/unordered_flat_map.hpp | 7 ++----- include/boost/unordered/unordered_flat_set.hpp | 7 ++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/include/boost/unordered/unordered_flat_map.hpp b/include/boost/unordered/unordered_flat_map.hpp index c58ba91a..5734e6c9 100644 --- a/include/boost/unordered/unordered_flat_map.hpp +++ b/include/boost/unordered/unordered_flat_map.hpp @@ -127,16 +127,13 @@ namespace boost { return *this; } - unordered_flat_map& operator=(unordered_flat_map&& other) - noexcept(std::allocator_traits::is_always_equal::value&& - std::is_nothrow_move_assignable::value&& - std::is_nothrow_move_assignable::value) + unordered_flat_map& operator=(unordered_flat_map&& other) noexcept( + noexcept(std::declval() = std::declval())) { table_ = std::move(other.table_); return *this; } - allocator_type get_allocator() const noexcept { return table_.get_allocator(); diff --git a/include/boost/unordered/unordered_flat_set.hpp b/include/boost/unordered/unordered_flat_set.hpp index 12ffd982..7c586503 100644 --- a/include/boost/unordered/unordered_flat_set.hpp +++ b/include/boost/unordered/unordered_flat_set.hpp @@ -121,16 +121,13 @@ namespace boost { return *this; } - unordered_flat_set& operator=(unordered_flat_set&& other) - noexcept(std::allocator_traits::is_always_equal::value&& - std::is_nothrow_move_assignable::value&& - std::is_nothrow_move_assignable::value) + unordered_flat_set& operator=(unordered_flat_set&& other) noexcept( + noexcept(std::declval() = std::declval())) { table_ = std::move(other.table_); return *this; } - allocator_type get_allocator() const noexcept { return table_.get_allocator();