Namespaces
Variants

std::scoped_allocator_adaptor<OuterAlloc,InnerAlloc...>:: outermost , outermost-construct , outermost-destroy

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)
template < class Alloc >
/* non spécifié */ /*outermost*/ ( Alloc && alloc = * this ) ;
(1) ( exposition uniquement* )
template < class T, class ... Args >
void /*outermost-construct*/ ( T * p, Args && ... args ) ;
(2) ( exposition uniquement* )
template < class T >
void /*outermost-destroy*/ ( T * p ) ;
(3) ( exposition uniquement* )

Ces modèles de fonctions membres d'aide, uniquement destinés à l'exposition, sont utilisés dans les fonctions membres construct() et destroy() .

1) Obtient l'allocateur le plus externe de alloc .
  • Si l'expression alloc. outer_allocator ( ) est valide, retourne outermost  ( alloc. outer_allocator ( ) ) .
  • Sinon, retourne alloc .
2,3) Construit ou détruit un objet en utilisant l'allocateur le plus externe de * this .
Étant donné le type std:: allocator_traits < std:: remove_reference_t < decltype ( outermost  ( ) ) >> comme outermost_traits :
2) Équivalent à outermost_traits :: construct ( outermost  ( ) , p, std:: forward < Args > ( args ) ... ) ; .
3) Équivalent à outermost_traits :: destroy ( outermost  ( ) , p ) ; .

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR S'applique à Comportement publié Comportement corrigé
LWG 3116 C++11 la condition de récursion pour outermost était « alloc
possède la fonction membre outer_allocator() »
modifiée en « l'expression
alloc. outer_allocator ( ) est valide »

Voir aussi

[static]
construit un objet dans le stockage alloué
(modèle de fonction)
[static]
détruit un objet stocké dans le stockage alloué
(modèle de fonction)