Namespaces
Variants

std::scoped_allocator_adaptor<OuterAlloc,InnerAlloc...>:: scoped_allocator_adaptor

From cppreference.net
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* )
( 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)
Definiert im Header <scoped_allocator>
scoped_allocator_adaptor ( ) ;
(1) (seit C++11)
template < class OuterA2 >

scoped_allocator_adaptor (
OuterA2 && outerAlloc, const InnerAllocs & ... innerAllocs

) noexcept ;
(2) (seit C++11)
scoped_allocator_adaptor (

const scoped_allocator_adaptor & other

) noexcept ;
(3) (seit C++11)
scoped_allocator_adaptor (

scoped_allocator_adaptor && other

) noexcept ;
(4) (seit C++11)
template < class OuterA2 >

scoped_allocator_adaptor (
const scoped_allocator_adaptor < OuterA2, InnerAllocs... > & other

) noexcept ;
(5) (seit C++11)
template < class OuterA2 >

scoped_allocator_adaptor (
scoped_allocator_adaptor < OuterA2, InnerAllocs... > && other

) noexcept ;
(6) (seit C++11)
1) Standardkonstruktor: wertinitialisiert die OuterAlloc Basisklasse und das innere Allokator-Memberobjekt, falls durch die Implementierung verwendet.
2) Konstruiert die Basisklasse OuterAlloc aus std:: forward < OuterA2 > ( outerAlloc ) , und die inneren Allokatoren mit innerAllocs... . Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn std:: is_constructible < OuterAlloc, OuterA2 > :: value true ist.
3) Copy-Konstruktor: initialisiert jeden Allokator aus dem entsprechenden Allokator von other .
4) Move-Konstruktor: verschiebt jeden Allokator vom entsprechenden Allokator von other in * this .
5) Initialisiert jeden Allokator aus dem entsprechenden Allokator von other . Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn std:: is_constructible < OuterAlloc, const OuterA2 & > :: value gleich true ist.
6) Initialisiert jeden Allokator aus dem entsprechenden Allokator von other unter Verwendung von Move-Semantik. Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn std:: is_constructible < OuterAlloc, OuterA2 > :: value true ist.

Parameter

outerAlloc - Konstruktorargument für den äußeren Allokator
innerAllocs... - Konstruktorargumente für die inneren Allokatoren
other - ein anderer std::scoped_allocator_adaptor

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 2782 C++11 Konstruktoren, die OuterA2 nehmen, waren nicht eingeschränkt, was Metaprogrammierung beeinträchtigte Einschränkung hinzugefügt

Siehe auch

weist nicht initialisierten Speicher unter Verwendung des äußeren Allokators zu
(öffentliche Elementfunktion)
konstruiert ein Objekt im zugewiesenen Speicher und übergibt den inneren Allokator an seinen Konstruktor, falls zutreffend
(öffentliche Elementfunktion)