Namespaces
Variants

std::experimental::pmr:: resource_adaptor, std::pmr::experimental:: resource_adaptor

From cppreference.net
template < class Alloc >

using resource_adaptor = /*resource-adaptor-imp*/ <
typename std:: allocator_traits < Alloc > ::

template rebind_alloc < char >> ;
(Library Fundamentals TS)
template < class Alloc >
class /*resource-adaptor-imp*/ : public memory_resource ; // nur zur Darstellung
(Library Fundamentals TS)

Die Alias-Vorlage resource_adaptor passt den Allokator-Typ Alloc an eine memory_resource -Schnittstelle an. Der Allokator wird an einen char -Werttyp neu gebunden, bevor er tatsächlich angepasst wird (unter Verwendung der Klassen-Vorlage resource-adaptor-imp ), sodass die Anpassung von Spezialisierungen derselben Allokator-Vorlage immer denselben Typ ergibt, unabhängig vom Werttyp, mit dem die Allokator-Vorlage ursprünglich instanziiert wurde.

resource_adaptor ist definiert im Namespace std::experimental::pmr , und der Basistyp memory_resorce auf dieser Seite ist std::experimental::pmr::memory_resource .

(library fundamentals TS)
(bis library fundamentals TS v3)

resource_adaptor ist definiert im Namespace std::pmr::experimental , und der Basistyp memory_resorce auf dieser Seite ist std::pmr::memory_resource .

(library fundamentals TS v3)

resource-adaptor-imp ist ein Klassentemplate, dessen Mitglieder im Folgenden beschrieben werden. Der Name resource-adaptor-imp dient ausschließlich Veranschaulichungszwecken und ist nicht normativ.

Zusätzlich zur Erfüllung der Allocator -Anforderungen muss Alloc zusätzlich die folgenden Anforderungen erfüllen:

Member-Typen von resource-adaptor-imp

Membertyp Definition
allocator_type Alloc

Memberfunktionen 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)
1) Standardkonstruktor. Konstruiert den gekapselten Allokator standardmäßig.
2) Kopierkonstruktor. Konstruiert den gekapselten Allokator durch Kopieren aus dem von other gekapselten Allokator.
3) Move-Konstruktor. Konstruiert den gekapselten Allokator durch Verschieben aus dem von other gekapselten Allokator.
4) Initialisiert den gekapselten Allokator mit a2 .
5) Initialisiert den gekapselten Allokator mit std :: move ( a2 ) .

Parameter

other - ein anderes resource-adaptor-imp -Objekt, von dem kopiert oder verschoben wird
a2 - ein anderes Alloc -Objekt, von dem kopiert oder verschoben wird

resource-adaptor-imp :: get_allocator

allocator_type get_allocator ( ) const ;
(library fundamentals TS)

Gibt eine Kopie des gekapselten Allokators zurück.

resource-adaptor-imp :: operator=

/*resource-adaptor-imp*/ & operator = ( const /*resource-adaptor-imp*/ & other )
= default ;
(library fundamentals TS)

Standardmäßiger Kopierzuweisungsoperator. Weist den umschlossenen Allokator durch Kopie von other zu.

resource-adaptor-imp :: do_allocate

protected :
virtual void * do_allocate ( std:: size_t bytes, std:: size_t alignment ) ;
(Library Fundamentals TS)

Reserviert Speicher unter Verwendung der allocate Memberfunktion des gekapselten Allokators.

resource-adaptor-imp :: do_deallocate

protected :
virtual void do_deallocate ( void * p, std:: size_t bytes, std:: size_t alignment ) ;
(library fundamentals TS)

Gibt den Speicher frei, auf den p zeigt, unter Verwendung der deallocate Memberfunktion des gekapselten Allokators.

p muss mit der allocate Memberfunktion eines Allokators allokiert worden sein, der gleich dem gekapselten Allokator ist, und darf nicht zuvor bereits freigegeben 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 gleich dynamic_cast < const /*resource-adaptor-imp*/ * > ( & other ) . Falls p ein Nullzeigerwert ist, wird false zurückgegeben. Andernfalls wird das Ergebnis des Vergleichs der von * p und * this gekapselten Allokatoren mittels operator == zurückgegeben.