Namespaces
Variants

std::basic_stacktrace<Allocator>:: basic_stacktrace

From fr.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.

Sommaire

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 une construction par déplacement de conteneur (surcharge (4)), les références, pointeurs et itérateurs qui référençaient initialement des éléments dans other restent valides, mais ils référencent désormais des éléments qui se trouvent dans *this. La norme actuelle garantit cela via la déclaration générale 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)