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 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.
|
|
(library fundamentals TS)
(bis library fundamentals TS v3) |
|
|
(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:
- std:: allocator_traits < Alloc > :: pointer muss identisch sein mit Alloc :: value_type * .
- std:: allocator_traits < Alloc > :: const_pointer muss identisch sein mit Alloc :: value_type const * .
- std:: allocator_traits < Alloc > :: void_pointer muss identisch sein mit void * .
- std:: allocator_traits < Alloc > :: const_const_pointer muss identisch sein mit void const * .
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) |
other
gekapselten Allokator.
other
gekapselten Allokator.
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.