diff --git a/include/boost/unordered/unordered_map.hpp b/include/boost/unordered/unordered_map.hpp index 4897f386..f12666c4 100644 --- a/include/boost/unordered/unordered_map.hpp +++ b/include/boost/unordered/unordered_map.hpp @@ -678,6 +678,10 @@ template class unordered_map void erase_return_void(const_iterator it) { erase(it); } void swap(unordered_map&); + // C++17 support: BOOST_NOEXCEPT_IF( + // value_allocator_traits::is_always_equal::value && + // is_nothrow_move_assignable_v && + // is_nothrow_move_assignable_v

) void clear(); template @@ -1180,6 +1184,10 @@ template class unordered_multimap void erase_return_void(const_iterator it) { erase(it); } void swap(unordered_multimap&); + // C++17 support: BOOST_NOEXCEPT_IF( + // value_allocator_traits::is_always_equal::value && + // is_nothrow_move_assignable_v && + // is_nothrow_move_assignable_v

) void clear(); template @@ -1487,6 +1495,10 @@ unordered_map::erase(const_iterator first, const_iterator last) template void unordered_map::swap(unordered_map& other) +// C++17 support: BOOST_NOEXCEPT_IF( +// value_allocator_traits::is_always_equal::value && +// is_nothrow_move_assignable_v && +// is_nothrow_move_assignable_v

) { table_.swap(other.table_); } @@ -1906,6 +1918,10 @@ unordered_multimap::erase( template void unordered_multimap::swap(unordered_multimap& other) +// C++17 support: BOOST_NOEXCEPT_IF( +// value_allocator_traits::is_always_equal::value && +// is_nothrow_move_assignable_v && +// is_nothrow_move_assignable_v

) { table_.swap(other.table_); } diff --git a/include/boost/unordered/unordered_set.hpp b/include/boost/unordered/unordered_set.hpp index 2cf710f5..58731b43 100644 --- a/include/boost/unordered/unordered_set.hpp +++ b/include/boost/unordered/unordered_set.hpp @@ -417,6 +417,10 @@ template class unordered_set void erase_return_void(const_iterator it) { erase(it); } void swap(unordered_set&); + // C++17 support: BOOST_NOEXCEPT_IF( + // value_allocator_traits::is_always_equal::value && + // is_nothrow_move_assignable_v && + // is_nothrow_move_assignable_v

) void clear(); template @@ -888,6 +892,10 @@ template class unordered_multiset void erase_return_void(const_iterator it) { erase(it); } void swap(unordered_multiset&); + // C++17 support: BOOST_NOEXCEPT_IF( + // value_allocator_traits::is_always_equal::value && + // is_nothrow_move_assignable_v && + // is_nothrow_move_assignable_v

) void clear(); template @@ -1176,6 +1184,10 @@ typename unordered_set::iterator unordered_set::erase( template void unordered_set::swap(unordered_set& other) +// C++17 support: BOOST_NOEXCEPT_IF( +// value_allocator_traits::is_always_equal::value && +// is_nothrow_move_assignable_v && +// is_nothrow_move_assignable_v

) { table_.swap(other.table_); } @@ -1547,6 +1559,10 @@ unordered_multiset::erase(const_iterator first, const_iterator last) template void unordered_multiset::swap(unordered_multiset& other) +// C++17 support: BOOST_NOEXCEPT_IF( +// value_allocator_traits::is_always_equal::value && +// is_nothrow_move_assignable_v && +// is_nothrow_move_assignable_v

) { table_.swap(other.table_); }