Namespaces
Variants

std::basic_stacktrace<Allocator>:: basic_stacktrace

From cppreference.net
basic_stacktrace ( ) noexcept ( /* voir ci-dessous */ ) ;
(1) (depuis C++23)
explicit basic_stacktrace ( const allocator_type & alloc ) noexcept ;
(2) (depuis C++23)
basic_stacktrace ( const basic_stacktrace & other ) ;
(3) (depuis C++23)
basic_stacktrace ( basic_stacktrace && other ) noexcept ;
(4) (depuis C++23)
basic_stacktrace ( const basic_stacktrace & other,
const allocator_type & alloc ) ;
(5) (depuis C++23)
basic_stacktrace ( basic_stacktrace && other, const allocator_type & alloc ) ;
(6) (depuis C++23)

Construit un basic_stacktrace vide, ou copie/déplace depuis other .

1) Constructeur par défaut. Construit un basic_stacktrace vide avec un allocateur construit par défaut.
2) Construit un basic_stacktrace vide en utilisant alloc comme allocateur.
3) Constructeur de copie. Construit un basic_stacktrace avec la copie du contenu de other , l'allocateur est obtenu comme si en appelant std:: allocator_traits < allocator_type > :: select_on_container_copy_construction ( other. get_allocator ( ) ) .
4) Constructeur de déplacement. Construit un basic_stacktrace avec le contenu de other en utilisant la sémantique de déplacement. L'allocateur est construit par déplacement à partir de celui de other . Après la construction, other est laissé dans un état valide mais non spécifié.
5) Identique au constructeur de copie, sauf que alloc est utilisé comme allocateur.
6) Se comporte comme le constructeur de déplacement si alloc == other. get_allocator ( ) . Sinon, alloue de la mémoire avec alloc et effectue un déplacement élément par élément. alloc est utilisé comme allocateur.

(3,5,6) peut lever une exception ou construire une basic_stacktrace vide en cas d'échec d'allocation.

Table des matières

Paramètres

alloc - allocateur à utiliser pour toutes les allocations de mémoire du basic_stacktrace construit
other - autre basic_stacktrace à copier/déplacer

Exceptions

1)
noexcept spécification :
noexcept ( std:: is_nothrow_default_constructible_v < allocator_type > )
3,5,6) Peut propager l'exception levée en cas d'échec d'allocation.

Complexité

1,2) Constant.
3) Linéaire en fonction de la taille de other .
4) Constante.
5) Linéaire en fonction de la taille de other .
6) Linéaire en fonction de la taille de other si alloc ! = other. get_allocator ( ) , sinon constant.

Notes

Après la construction par déplacement du conteneur (surcharge ( 4 ) ), les références, pointeurs et itérateurs (à l'exception de l'itérateur de fin) vers other restent valides, mais se réfèrent aux éléments qui se trouvent désormais dans * this . La norme actuelle garantit cela via l'énoncé général dans [container.reqmts]/67 , et une garantie plus directe est à l'étude via LWG issue 2321 .

Exemple

Voir aussi

assigne au basic_stacktrace
(fonction membre publique)
[static]
obtient la trace de pile actuelle ou sa partie donnée
(fonction membre publique statique)