Namespaces
Variants

std:: allocation_result

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)
Défini dans l'en-tête <memory>
template < class Pointer, class SizeType = std:: size_t >
struct allocation_result ;
(depuis C++23)

allocation_result sont renvoyés par la fonction membre allocate_at_least des types Allocator appropriés (par exemple std::allocator::allocate_at_least ) et std::allocator_traits::allocate_at_least .

Chaque spécialisation de allocation_result n'a ni classes de base ni membres déclarés autres que ptr et count , elle est donc adaptée à l'initialisation agrégée et à la liaison structurée .

Table des matières

Paramètres du modèle

Pointer - typiquement std:: allocator_traits < Alloc > :: pointer , où Alloc est un type Allocator
SizeType - typiquement std:: allocator_traits < Alloc > :: size_type , où Alloc est un type Allocator

Membres de données

Nombre du membre Définition
ptr
un pointeur de type Pointer généralement utilisé pour l'adresse du premier élément dans le stockage alloué par allocate_at_least
(objet membre public)
count
une valeur de type SizeType généralement utilisée pour le nombre réel d'éléments dans le stockage alloué par allocate_at_least
(objet membre public)

Notes

Pointer et SizeType sont respectivement un pointeur vers un type d'objet et std:: make_unsigned_t < std:: ptrdiff_t > (qui est presque toujours identique à std::size_t ) par défaut.

Macro de test de fonctionnalité Valeur Norme Fonctionnalité
__cpp_lib_allocate_at_least 202302L (C++23) Rétroaction de taille dans l'interface Allocator

Exemple

Voir aussi

alloue un stockage non initialisé d'au moins la taille demandée
(fonction membre publique de std::allocator<T> )
[static] (C++23)
alloue un stockage d'au moins la taille demandée via un allocateur
(fonction membre statique publique de std::allocator_traits<Alloc> )