std::experimental::pmr::resource_adaptor, std::pmr::experimental::resource_adaptor
| Definiert im Header <experimental/memory_resource> |
||
| template< class Alloc > using resource_adaptor = /*resource-adaptor-imp*/< |
(library fundamentals TS) | |
| template< class Alloc > class /*resource-adaptor-imp*/ : public memory_resource; // nur zur Veranschaulichung |
(library fundamentals TS) | |
Der Alias-Template resource_adaptor passt den Allocator-Typ Alloc an eine memory_resource-Schnittstelle an. Der Allocator wird zu einem char-Werttyp re-bound, bevor er tatsächlich angepasst wird (unter Verwendung der resource-adaptor-imp-Klassenschablone), sodass die Anpassung von Spezialisierungen derselben Allocator-Schablone immer denselben Typ ergibt, unabhängig vom Werttyp, mit dem die Allocator-Schablone ursprünglich instanziiert wurde.
|
|
(library fundamentals TS) (bis library fundamentals TS v3) |
|
|
(library fundamentals TS v3) |
resource-adaptor-imp ist eine Klassenschablone, deren Member unten beschrieben werden. Der Name resource-adaptor-imp dient nur zur Veranschaulichung und ist nicht normativ.
Zusätzlich zur Erfüllung der Allocator-Anforderungen muss Alloc zusätzlich die folgenden Anforderungen erfüllen:
- std::allocator_traits<Alloc>::pointer muss identisch mit Alloc::value_type* sein.
- std::allocator_traits<Alloc>::const_pointer muss identisch mit Alloc::value_type const* sein.
- std::allocator_traits<Alloc>::void_pointer muss identisch mit void* sein.
- std::allocator_traits<Alloc>::const_const_pointer muss identisch mit void const* sein.
[bearbeiten] Member-Typen von resource-adaptor-imp
| Mitgliedertyp | Definition |
allocator_type
|
Alloc
|
[bearbeiten] Member-Funktionen von 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; |
(2) | (library fundamentals TS) |
| /*resource-adaptor-imp*/(/*resource-adaptor-imp*/&& other) = default; |
(3) | (library fundamentals TS) |
| explicit /*resource-adaptor-imp*/(const Alloc& a2); |
(4) | (library fundamentals TS) |
| explicit /*resource-adaptor-imp*/(Alloc&& a2); |
(5) | (library fundamentals TS) |
other gewrappten Allocator.other gewrappten Allocator.a2.Parameter
| Sonstiges | - | ein anderes resource-adaptor-imp-Objekt zum Kopieren oder Verschieben |
| a2 | - | ein anderes Alloc-Objekt zum Kopieren oder Verschieben |
resource-adaptor-imp::get_allocator
| allocator_type get_allocator() const; |
(library fundamentals TS) | |
Gibt eine Kopie des gewrappten Allocators zurück.
resource-adaptor-imp::operator=
| /*resource-adaptor-imp*/& operator=(const /*resource-adaptor-imp*/& other) = default; |
(library fundamentals TS) | |
Standardmäßiger Kopierzuweisungsoperator. Kopiert den gewrappten Allocator aus dem von other.
resource-adaptor-imp::do_allocate
| protected: virtual void* do_allocate(std::size_t bytes, std::size_t alignment); |
(library fundamentals TS) | |
Allokiert Speicher unter Verwendung der allocate-Memberfunktion des gewrappten Allocators.
resource-adaptor-imp::do_deallocate
| protected: virtual void do_deallocate(void *p, std::size_t bytes, std::size_t alignment); |
(library fundamentals TS) | |
Deallokiert den Speicher, auf den p zeigt, unter Verwendung der deallocate-Memberfunktion des gewrappten Allocators.
p muss mit der allocate-Memberfunktion eines Allocators, der gleich dem gewrappten Allocator ist, allokiert worden sein und darf noch nicht deallokiert worden sein.
resource-adaptor-imp::do_is_equal
| protected: virtual bool do_is_equal(const memory_resource& other) const noexcept; |
(library fundamentals TS) | |
Sei p ein dynamic_cast<const /*resource-adaptor-imp*/*>(&other). Wenn p ein Nullzeiger ist, wird false zurückgegeben. Andernfalls wird das Ergebnis des Vergleichs der von *p und *this gewrappten Allocatoren mittels operator== zurückgegeben.