scoped_allocator_adaptor-Klasse
Stellt ein Nest von Zuweisungen dar.
template<class Outer, class... Inner>
class scoped_allocator_adaptor;
Hinweise
Die Vorlagenklasse kapselt ein Nest mehrere Zuweisungen. Jede dieser Klasse enthält eine äußerste Zuweisung des Typs outer_allocator_type, ein Synonym für Outer, die eine öffentliche Basis des scoped_allocator_adaptor-Objekts ist. Outer wird verwendet, um Speicher reserviert, durch einen Container verwendet werden. Sie können einen Verweis auf dieses Zuweisungsbasisobjekt abrufen, indem Sie outer_allocator aufrufen.
Der Rest des Nestes ist vom Typ inner_allocator_type. Eine interne Zuweisung wird verwendet, um für Elemente innerhalb eines Containers Speicher zu belegen. Sie können einen Verweis auf dem gespeicherten Objekt dieses Typs abrufen, indem Sie inner_allocator aufrufen. Wenn Inner... nicht leer ist, ist inner_allocator_type vom Typ scoped_allocator_adaptor<Inner...>, und inner_allocator legt ein Memberobjekt fest. Andernfalls ist inner_allocator_type vom Typ scoped_allocator_adaptor<Outer>, und inner_allocator legt das gesamte Objekt fest.
Das Nest verhält, als ob beliebige Tiefe hat und ggf. repliziert die innerste gekapselte Zuweisung.
Einige Konzepte, die kein Teil der sichtbaren Schnittstellenhilfe sind, wenn sie das Verhalten dieser Vorlagenklasse beschreiben. Eine Zuweisung äußerste übergibt alle Aufrufe Konstrukt und zerstört Methoden. Es wird effektiv von der rekursiven Funktion OUTERMOST(X) definiert, wobei OUTERMOST(X) einen der folgenden ist.
Wenn X.outer_allocator() wohl geformt ist, wird OUTERMOST(X)OUTERMOST(X.outer_allocator()).
Andernfalls ist OUTERMOST(X) X.
Drei Typen werden um der Veröffentlichung willen definiert:
Typ |
Beschreibung |
---|---|
Outermost |
Der OUTERMOST(*this)-Typ. |
Outermost_traits |
allocator_traits<Outermost> |
Outer_traits |
allocator_traits<Outer> |
Konstruktoren
Name |
Beschreibung |
---|---|
scoped_allocator_adaptor::scoped_allocator_adaptor-Konstruktor |
Erstellt ein scoped_allocator_adaptor-Objekt. |
Typedefs
Name |
Beschreibung |
---|---|
const_pointer |
Dieser Typ ist ein Synonym für const_pointer, das mit der Zuweisung Outer zugeordnet ist. |
const_void_pointer |
Dieser Typ ist ein Synonym für const_void_pointer, das mit der Zuweisung Outer zugeordnet ist. |
difference_type |
Dieser Typ ist ein Synonym für difference_type, das mit der Zuweisung 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 Zuweisung Outer. |
pointer |
Dieser Typ ist ein Synonym für pointer, das mit der Zuweisung Outer zugeordnet ist. |
propagate_on_container_copy_assignment |
Die Typgriffe werden nur wenn Outer_traits::propagate_on_container_copy_assignment beinhaltet true oder inner_allocator_type::propagate_on_container_copy_assignment als "true" aus. |
propagate_on_container_move_assignment |
Die Typgriffe werden nur wenn Outer_traits::propagate_on_container_move_assignment beinhaltet true oder inner_allocator_type::propagate_on_container_move_assignment als "true" aus. |
propagate_on_container_swap |
Die Typgriffe werden nur wenn Outer_traits::propagate_on_container_swap beinhaltet true oder inner_allocator_type::propagate_on_container_swap als "true" aus. |
size_type |
Dieser Typ ist ein Synonym für size_type, das mit der Zuweisung Outer zugeordnet ist. |
value_type |
Dieser Typ ist ein Synonym für value_type, das mit der Zuweisung Outer zugeordnet ist. |
void_pointer |
Dieser Typ ist ein Synonym für void_pointer, das mit der Zuweisung Outer zugeordnet ist. |
Strukturen
Name |
Beschreibung |
---|---|
Definiert den Typ Outer::rebind<Other>::other als Synonym für scoped_allocator_adaptor<Other, Inner...>. |
Methoden
Name |
Beschreibung |
---|---|
Belegt mithilfe der Zuweisung Outer Speicher. |
|
Erstellt ein Objekt. |
|
Gibt Objekte mithilfe der äußeren Zuweisung frei. |
|
Zerstört ein gegebenes Objekt. |
|
Ruft einen Verweis auf dem gespeicherten Objekt des Typs inner_allocator_type ab. |
|
Bestimmt die maximale Anzahl von Objekten, die von der äußeren Zuweisung zugeordnet werden können. |
|
Ruft einen Verweis auf dem gespeicherten Objekt des Typs outer_allocator_type ab. |
|
scoped_allocator_adaptor::select_on_container_copy_construction-Methode |
Erstellt ein neues scoped_allocator_adaptor-Objekt mit jedem gespeicherten Zuweisungsobjekt, das durch Aufrufen von select_on_container_copy_construction für jede äquivalente Zuweisung neu initialisiert wird. |
Anforderungen
Header: <scoped_allocator>
Namespace: std