Partager via


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>

Hh972427.collapse_all(fr-fr,VS.110).gifConstructeurs

Nom

Description

scoped_allocator_adaptor::scoped_allocator_adaptor, constructeur

Construit un objet scoped_allocator_adaptor.

Hh972427.collapse_all(fr-fr,VS.110).gifTypedef

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.

Hh972427.collapse_all(fr-fr,VS.110).gifStructures

Nom

Description

scoped_allocator_adaptor::rebind, struct

Définit le type Outer::rebind<Other>::other comme un synonyme pour scoped_allocator_adaptor<Other, Inner...>.

Hh972427.collapse_all(fr-fr,VS.110).gifMéthodes

Nom

Description

scoped_allocator_adaptor::allocate, méthode

Alloue de la mémoire à l'aide de l'allocateur d' Outer .

scoped_allocator_adaptor::construct, méthode

Crée un objet.

scoped_allocator_adaptor::deallocate, méthode

Libère des objets à l'aide de l'allocateur externe.

scoped_allocator_adaptor::destroy, méthode

Détruit un objet spécifié.

scoped_allocator_adaptor::inner_allocator, méthode

Extrait une référence à l'objet stocké du type inner_allocator_type.

scoped_allocator_adaptor::max_size, méthode

Détermine le nombre maximal d'objets qui peuvent être alloués par l'allocateur externe.

scoped_allocator_adaptor::outer_allocator, méthode

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

Voir aussi

Autres ressources

Fichiers d'en-tête