Namespaces
Variants

cpp/memory/memory resource/do is equal: Difference between revisions

From cppreference.com
mNo edit summary
Olya (talk | contribs)
 
(4 intermediate revisions by 4 users not shown)
Line 2: Line 2:
{{cpp/memory/memory_resource/navbar}}
{{cpp/memory/memory_resource/navbar}}
{{ddcl|since=c++17|1=
{{ddcl|since=c++17|1=
virtual bool do_is_equal(const std::pmr::memory_resource& other) const noexcept = 0;
virtual bool do_is_equal( const std::pmr::memory_resource& other ) const noexcept = 0;
}}
}}


Compares {{tt|*this}} for equality with {{tt|other}}.
Compares {{|*this}} for equality with {{|other}}.


Two {{tt|memory_resource}}s compare equal if and only if memory allocated from one {{tt|memory_resource}} can be deallocated from the other and vice versa.
Two {{tt|memory_resource}}s compare equal if and only if memory allocated from one {{tt|memory_resource}} can be deallocated from the other and vice versa.


=== Notes ===
=== Notes ===
The most-derived type of {{tt|other}} may not match the most derived type of {{tt|*this}}. A derived class implementation therefore must typically check whether the most derived types of {{tt|*this}} and {{tt|other}} match using {{lc|dynamic_cast}}, and immediately return {{tt|false}} if the cast fails.
The most-derived type of {{|other}} may not match the most derived type of {{|*this}}. A derived class implementation therefore must typically check whether the most derived types of {{|*this}} and {{|other}} match using {{|dynamic_cast}}, and immediately return {{|false}} if the cast fails.


=== See also ===
=== See also ===
{{dsc begin}}
{{dsc begin}}
{{dsc inc| cpp/memory/memory_resource/dsc is_equal}}
{{dsc inc|cpp/memory/memory_resource/dsc is_equal}}
{{dsc end}}
{{dsc end}}


{{langlinks|zh}}
{{langlinks|zh}}

Latest revision as of 05:02, 20 July 2023

 
 
Memory management library
(exposition only*)
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
(until C++20*)
(until C++20*)

Garbage collector support (until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
Low level memory
management
    
(C++17)
Smart pointers
(C++11)
(C++11)
(C++11)
(until C++17*)
(C++11)
(C++26)
(C++23)
Miscellaneous
(C++20)
(C++11)
(C++11)
C Library
(C++26)
 
 
virtual bool do_is_equal( const std::pmr::memory_resource& other ) const noexcept = 0;
(since C++17)

Compares *this for equality with other.

Two memory_resources compare equal if and only if memory allocated from one memory_resource can be deallocated from the other and vice versa.

Notes

The most-derived type of other may not match the most derived type of *this. A derived class implementation therefore must typically check whether the most derived types of *this and other match using dynamic_cast, and immediately return false if the cast fails.

See also

compare for equality with another memory_resource
(public member function) [edit]