std::pmr::operator==, std::pmr::operator!=
From cppreference.com
< cpp | memory | polymorphic allocator
Defined in header <memory_resource>
|
||
template< class T1, class T2 > bool operator==( const std::pmr::polymorphic_allocator<T1>& lhs, |
(1) | (since C++17) |
friend bool operator==( const polymorphic_allocator& lhs, const polymorphic_allocator& rhs ) noexcept; |
(2) | (since C++17) |
template< class T1, class T2 > bool operator!=( const std::pmr::polymorphic_allocator<T1>& lhs, |
(3) | (since C++17) (until C++20) |
friend bool operator!=( const polymorphic_allocator& lhs, const polymorphic_allocator& rhs ) noexcept; |
(4) | (since C++17) (until C++20) |
Compares two polymorphic allocators. Two polymorphic allocators compare equal if their underlying memory resource compares equal.
1) Returns *lhs.resource() == *rhs.resource()
2) Same as (1), allowing conversion to
This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when
polymorphic_allocator
.This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when
std::pmr::polymorphic_allocator
is an associated class of the arguments.3) Returns !(lhs == rhs)
4) Same as (3), allowing conversion to
This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when
polymorphic_allocator
.This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when
std::pmr::polymorphic_allocator
is an associated class of the arguments.
The |
(since C++20) |
Parameters
lhs, rhs | - | polymorphic allocators to compare |
Return value
1-2) *lhs.resource() == *rhs.resource()
3-4) !(lhs == rhs)
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 3683 | C++17 | polymorphic_allocator could not be compared with types convertible to it
|
overload added |