mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-31 03:47:16 +02:00
Ease test requiremets for erase_if, require copyability now of supplied predicate
This commit is contained in:
@ -23,36 +23,13 @@
|
|||||||
namespace test {
|
namespace test {
|
||||||
struct is_even
|
struct is_even
|
||||||
{
|
{
|
||||||
is_even() {}
|
bool operator()(std::pair<std::string const, int>& key_value)
|
||||||
|
|
||||||
#if BOOST_CXX_VERSION >= 201703L
|
|
||||||
// immovable for C++17
|
|
||||||
is_even(is_even const&) = delete;
|
|
||||||
is_even(is_even&&) = delete;
|
|
||||||
|
|
||||||
is_even& operator=(is_even const&) = delete;
|
|
||||||
is_even& operator=(is_even&&) = delete;
|
|
||||||
#elif BOOST_CXX_VERSION >= 201103L
|
|
||||||
// move-only for C++11
|
|
||||||
is_even(is_even const&) = delete;
|
|
||||||
is_even(is_even&&) = default;
|
|
||||||
|
|
||||||
is_even& operator=(is_even const&) = delete;
|
|
||||||
is_even& operator=(is_even&&) = default;
|
|
||||||
#else
|
|
||||||
// copyable otherwise
|
|
||||||
is_even(is_even const&) {}
|
|
||||||
is_even& operator=(is_even const&) { return *this; }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool operator()(
|
|
||||||
std::pair<std::string const, int>& key_value) UNORDERED_LVALUE_QUAL
|
|
||||||
{
|
{
|
||||||
int const v = key_value.second;
|
int const v = key_value.second;
|
||||||
return (v % 2 == 0);
|
return (v % 2 == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator()(int const& value) UNORDERED_LVALUE_QUAL
|
bool operator()(int const& value)
|
||||||
{
|
{
|
||||||
int const v = value;
|
int const v = value;
|
||||||
return (v % 2 == 0);
|
return (v % 2 == 0);
|
||||||
@ -61,37 +38,13 @@ namespace test {
|
|||||||
|
|
||||||
struct is_too_large
|
struct is_too_large
|
||||||
{
|
{
|
||||||
is_too_large() {}
|
bool operator()(std::pair<std::string const, int>& key_value)
|
||||||
|
|
||||||
#if BOOST_CXX_VERSION >= 201703L
|
|
||||||
// immovable for C++17
|
|
||||||
is_too_large(is_too_large const&) = delete;
|
|
||||||
is_too_large(is_too_large&&) = delete;
|
|
||||||
|
|
||||||
is_too_large& operator=(is_too_large const&) = delete;
|
|
||||||
is_too_large& operator=(is_too_large&&) = delete;
|
|
||||||
#elif BOOST_CXX_VERSION >= 201103L
|
|
||||||
// move-only for C++11
|
|
||||||
is_too_large(is_too_large const&) = delete;
|
|
||||||
is_too_large(is_too_large&&) = default;
|
|
||||||
|
|
||||||
is_too_large& operator=(is_too_large const&) = delete;
|
|
||||||
is_too_large& operator=(is_too_large&&) = default;
|
|
||||||
#else
|
|
||||||
// copyable otherwise
|
|
||||||
is_too_large(is_too_large const&) {}
|
|
||||||
|
|
||||||
is_too_large& operator=(is_too_large const&) { return *this; }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool operator()(
|
|
||||||
std::pair<std::string const, int>& key_value) UNORDERED_LVALUE_QUAL
|
|
||||||
{
|
{
|
||||||
int const v = key_value.second;
|
int const v = key_value.second;
|
||||||
return v >= 1000;
|
return v >= 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator()(int const& value) UNORDERED_LVALUE_QUAL
|
bool operator()(int const& value)
|
||||||
{
|
{
|
||||||
int const v = value;
|
int const v = value;
|
||||||
return v >= 1000;
|
return v >= 1000;
|
||||||
|
Reference in New Issue
Block a user