Freigeben über


scoped_allocator_adaptor-Klasse

Stellt ein Nest von Belegungsfunktionen dar.

template<class Outer, class... Inner>
    class scoped_allocator_adaptor;

Hinweise

Die Vorlagenklasse kapselt einen Nest einer oder mehrerer Belegungsfunktionen.Jede dieser Klasse hat eine äußerste Belegungsfunktion des Typs outer_allocator_type, ein Synonym für Outer, das eine öffentliche scoped_allocator_adaptor Basis des Objekts ist.Outer wird verwendet, um Speicher reserviert, durch einen Container verwendet werden.Sie erhalten ein Verweis auf dieses Belegungsfunktionsbasisobjekt, indem Sie outer_allocator aufrufen.

Der Rest des Nestes ist vom Typ inner_allocator_type.Eine innere Belegungsfunktion wird verwendet, um für Elemente innerhalb eines Containers Speicher reserviert.Sie erhalten einen Verweis auf das Objekt gespeicherten dieses Typs, indem Sie inner_allocator aufrufen.Wenn Inner... nicht leer ist, hat inner_allocator_type-Typ scoped_allocator_adaptor<Inner...>, und inner_allocator legt ein Memberobjekt fest.Andernfalls weist inner_allocator_type-Typ scoped_allocator_adaptor<Outer>, und inner_allocator legt das gesamte Objekt fest.

Das Nest verhält, als ob es beliebige Tiefe hat und ggf. repliziert die innerste gekapselte Belegungsfunktion verwendet.

Einige Konzepte, die nicht Teil der sichtbaren Schnittstellenhilfe sind, wenn sie das Verhalten dieser Vorlagenklasse beschreiben.Eine äußerste Belegungsfunktion übergibt alle Aufrufe an Konstrukt und zerstört Methoden.Es wird effektiv durch die rekursive Funktion OUTERMOST(X) definiert, in der OUTERMOST(X) einen der folgenden ist.

  • Wenn X.outer_allocator() wohl geformt ist, ist OUTERMOST(X)OUTERMOST(X.outer_allocator()).

  • Andernfalls ist OUTERMOST(X)X.

Drei Typen werden mit der Veröffentlichung willen definiert:

Text [Type]

Description

Outermost

Der Typ von OUTERMOST(*this).

Outermost_traits

allocator_traits<Outermost>

Outer_traits

allocator_traits<Outer>

Hh972427.collapse_all(de-de,VS.110).gifKonstruktoren

Name

Description

scoped_allocator_adaptor::scoped_allocator_adaptor-Konstruktor

Erstellt ein scoped_allocator_adaptor-Objekt.

Hh972427.collapse_all(de-de,VS.110).gifTypedefs

Name

Description

const_pointer

Dieser Typ ist ein Synonym für const_pointer, das der Belegungsfunktion Outer zugeordnet ist.

const_void_pointer

Dieser Typ ist ein Synonym für const_void_pointer, das der Belegungsfunktion Outer zugeordnet ist.

difference_type

Dieser Typ ist ein Synonym für difference_type, das der Belegungsfunktion Outer zugeordnet ist.

inner_allocator_type

Dieser Typ ist ein Synonym für den Typ des geschachtelten Adapters scoped_allocator_adaptor<Inner...>.

outer_allocator_type

Dieser Typ ist ein Synonym für den Typ der Basisklasse Belegungsfunktion Outer.

pointer

Dieser Typ ist ein Synonym für pointer, das der Belegungsfunktion Outer zugeordnet ist.

propagate_on_container_copy_assignment

Die Typgriffe werden nur bei Outer_traits::propagate_on_container_copy_assignment Grifftrue oder inner_allocator_type::propagate_on_container_copy_assignment Grifftrue aus.

propagate_on_container_move_assignment

Die Typgriffe werden nur bei Outer_traits::propagate_on_container_move_assignment Grifftrue oder inner_allocator_type::propagate_on_container_move_assignment Grifftrue aus.

propagate_on_container_swap

Die Typgriffe werden nur bei Outer_traits::propagate_on_container_swap Grifftrue oder inner_allocator_type::propagate_on_container_swap Grifftrue aus.

size_type

Dieser Typ ist ein Synonym für size_type, das der Belegungsfunktion Outer zugeordnet ist.

value_type

Dieser Typ ist ein Synonym für value_type, das der Belegungsfunktion Outer zugeordnet ist.

void_pointer

Dieser Typ ist ein Synonym für void_pointer, das der Belegungsfunktion Outer zugeordnet ist.

Hh972427.collapse_all(de-de,VS.110).gifStrukturen

Name

Description

scoped_allocator_adaptor::rebind-Struktur

Definiert den Typ Outer::rebind<Other>::other als Synonym für scoped_allocator_adaptor<Other, Inner...>.

Hh972427.collapse_all(de-de,VS.110).gifMethoden

Name

Description

scoped_allocator_adaptor::allocate-Methode

Belegt mithilfe der Outer Belegungsfunktion Speicher.

scoped_allocator_adaptor::construct-Methode

Erstellt ein Objekt.

scoped_allocator_adaptor::deallocate-Methode

Gibt Objekte mithilfe der äußeren Belegungsfunktion frei.

scoped_allocator_adaptor::destroy-Methode

Zerstört ein angegebenes Objekt.

scoped_allocator_adaptor::inner_allocator-Methode

Ruft einen Verweis auf das gespeicherten Objekt des Typs inner_allocator_type ab.

scoped_allocator_adaptor::max_size-Methode

Bestimmt die maximale Anzahl von Objekten, die von der äußeren Belegungsfunktion zugeordnet werden können.

scoped_allocator_adaptor::outer_allocator-Methode

Ruft einen Verweis auf das gespeicherten Objekt des Typs outer_allocator_type ab.

scoped_allocator_adaptor::select_on_container_copy_construction-Methode

Erstellt ein neues Objekt scoped_allocator_adaptor mit jedem gespeicherten allocator-Objekt, das durch Aufrufen von select_on_container_copy_construction für jede entsprechende Belegungsfunktion initialisiert wird.

Anforderungen

Header: <scoped_allocator>

Namespace: std

Siehe auch

Weitere Ressourcen

Headerdateien