using resource_adaptor = /*resource-adaptor-imp*/<
typename std::allocator_traits<Alloc>::
template< class Alloc >
class /*resource-adaptor-imp*/ : public memory_resource; // for exposition only
The alias template resource_adaptor
adapts the allocator type Alloc
with a memory_resource
interface. The allocator is rebound to a char
value type before it is actually adapted (using the resource-adaptor-imp
class template), so that adapting specializations of the same allocator template always yields the same type, regardless of the value type the allocator template is originally instantiated with.
resource_adaptor
is defined in namespace std::experimental::pmr
, and the base type memory_resorce
in this page is std::experimental::pmr::memory_resource.
resource_adaptor
is defined in namespace std::pmr::experimental
, and the base type memory_resorce
in this page is std::pmr::memory_resource.
resource-adaptor-imp
is a class template whose members are described below. The name resource-adaptor-imp
is for exposition purposes only and not normative.
In addition to meeting the Allocator requirements, Alloc
must additionally satisfy the following requirements:
allocator_type
Alloc
[edit] Member functions of resource-adaptor-imp resource-adaptor-imp::resource-adaptor-imp
/*resource-adaptor-imp*/() = default;
(1) (library fundamentals TS)/*resource-adaptor-imp*/(const /*resource-adaptor-imp*/& other)
= default;
/*resource-adaptor-imp*/(/*resource-adaptor-imp*/&& other)
= default;
explicit /*resource-adaptor-imp*/(const Alloc& a2);
(4) (library fundamentals TS)explicit /*resource-adaptor-imp*/(Alloc&& a2);
(5) (library fundamentals TS)1) Default constructor. Default constructs the wrapped allocator.
2) Copy constructor. Copy constructs the wrapped allocator from the allocator wrapped by other
.
3) Move constructor. Move constructs the wrapped allocator from the allocator wrapped by other
.
4) Initializes the wrapped allocator with a2
.
5) Initializes the wrapped allocator with std::move(a2).
Parameters other - anotherresource-adaptor-imp
object to copy or move from a2 - another Alloc
object to copy or move from resource-adaptor-imp::get_allocator
allocator_type get_allocator() const;
(library fundamentals TS)Returns a copy of the wrapped allocator.
resource-adaptor-imp::operator=/*resource-adaptor-imp*/& operator=(const /*resource-adaptor-imp*/& other)
= default;
Defaulted copy assignment operator. Copy assigns the wrapped allocator from that of other
.
Allocates memory using the allocate
member function of the wrapped allocator.
Deallocates the storage pointed to by p
using the deallocate
member function of the wrapped allocator.
p
must have been allocated using the allocate
member function of an allocator that compares equal to the wrapped allocator, and must not have been subsequently deallocated.
protected:
virtual bool do_is_equal(const memory_resource& other) const noexcept;
Let p
be dynamic_cast<const /*resource-adaptor-imp*/*>(&other). If p
is a null pointer value, returns false. Otherwise, return the result of comparing the allocators wrapped by *p and *this using operator==.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4