scoped_allocator_adaptor::construct, méthode
Représente un imbrication les allocateurs.
template<class Outer, class... Inner>
class scoped_allocator_adaptor;
Notes
La classe de modèle encapsule un imbrication d'un ou plusieurs allocateurs.Chaque une telle classe a un allocateur extérieur de type outer_allocator_type, un synonyme pour Outer, qui est une base publique de l'objet d' scoped_allocator_adaptor .Outer est utilisé pour allouer de la mémoire à utiliser par un conteneur.Vous pouvez obtenir une référence à cet objet de base de l'allocateur en appelant outer_allocator.
Le reste de l'imbrication a le type inner_allocator_type.Un allocateur interne est utilisé pour allouer de la mémoire pour les éléments dans un conteneur.Vous pouvez obtenir une référence à l'objet stocké de ce type en appelant inner_allocator.Si Inner... n'est pas vide, inner_allocator_type a le type scoped_allocator_adaptor<Inner...>, et inner_allocator indique un objet membre.Sinon, inner_allocator_type a le type scoped_allocator_adaptor<Outer>, et inner_allocator indique l'objet entier.
L'imbrication se comporte comme s'il a la profondeur arbitraire, reproduisant l'allocateur encapsulé le plus profond si nécessaire.
Plusieurs concepts qui ne font pas partie de l'aide visible d'interface en décrivant le comportement de cette classe de modèle.un allocateur extérieur négocie tous les appels à l'élément et détruit des méthodes.Il est effectivement défini par la fonction récursive OUTERMOST(X), où OUTERMOST(X) est l'une des opérations suivantes.
Si X.outer_allocator() est correct, puis OUTERMOST(X) est OUTERMOST(X.outer_allocator()).
Sinon, OUTERMOST(X) est X.
Trois types sont définis pour des raisons de l'exposition :
Type |
Description |
---|---|
Outermost |
Type de OUTERMOST(*this). |
Outermost_traits |
allocator_traits<Outermost> |
Outer_traits |
allocator_traits<Outer> |
Constructeurs
Nom |
Description |
---|---|
scoped_allocator_adaptor::scoped_allocator_adaptor, constructeur |
Construit un objet scoped_allocator_adaptor. |
Typedef
Nom |
Description |
---|---|
const_pointer |
Ce type est un synonyme pour const_pointer associé à l'allocateur Outer. |
const_void_pointer |
Ce type est un synonyme pour const_void_pointer associé à l'allocateur Outer. |
difference_type |
Ce type est un synonyme pour difference_type associé à l'allocateur Outer. |
inner_allocator_type |
Ce type est un synonyme pour le type de l'adaptateur imbriqué scoped_allocator_adaptor<Inner...>. |
outer_allocator_type |
Ce type est un synonyme pour le type de l'allocateur de base Outer. |
pointer |
Ce type est un synonyme pour pointer associé à l'allocateur Outer. |
propagate_on_container_copy_assignment |
Le type juge vrai uniquement si Outer_traits::propagate_on_container_copy_assignment juge les contient la valeur true ou d' inner_allocator_type::propagate_on_container_copy_assignment true. |
propagate_on_container_move_assignment |
Le type juge vrai uniquement si Outer_traits::propagate_on_container_move_assignment juge les contient la valeur true ou d' inner_allocator_type::propagate_on_container_move_assignment true. |
propagate_on_container_swap |
Le type juge vrai uniquement si Outer_traits::propagate_on_container_swap juge les contient la valeur true ou d' inner_allocator_type::propagate_on_container_swap true. |
size_type |
Ce type est un synonyme pour size_type associé à l'allocateur Outer. |
value_type |
Ce type est un synonyme pour value_type associé à l'allocateur Outer. |
void_pointer |
Ce type est un synonyme pour void_pointer associé à l'allocateur Outer. |
Structures
Nom |
Description |
---|---|
Définit le type Outer::rebind<Other>::other comme un synonyme pour scoped_allocator_adaptor<Other, Inner...>. |
Méthodes
Nom |
Description |
---|---|
Alloue de la mémoire à l'aide de l'allocateur d' Outer . |
|
Crée un objet. |
|
Libère des objets à l'aide de l'allocateur externe. |
|
Détruit un objet spécifié. |
|
Extrait une référence à l'objet stocké du type inner_allocator_type. |
|
Détermine le nombre maximal d'objets qui peuvent être alloués par l'allocateur externe. |
|
Extrait une référence à l'objet stocké du type outer_allocator_type. |
|
scoped_allocator_adaptor::select_on_container_copy_construction, méthode |
Crée un nouvel objet d' scoped_allocator_adaptor avec chaque objet d'allocation est initialisé en appelant select_on_container_copy_construction pour chaque allocateur correspondant. |
Configuration requise
en-tête : <scoped_allocator>
l'espace de noms : DST