Namespaces
Variants

std::basic_stacktrace<Allocator>:: basic_stacktrace

From cppreference.net
basic_stacktrace ( ) noexcept ( /* ver más abajo */ ) ;
(1) (desde C++23)
explicit basic_stacktrace ( const allocator_type & alloc ) noexcept ;
(2) (desde C++23)
basic_stacktrace ( const basic_stacktrace & other ) ;
(3) (desde C++23)
basic_stacktrace ( basic_stacktrace && other ) noexcept ;
(4) (desde C++23)
basic_stacktrace ( const basic_stacktrace & other,
const allocator_type & alloc ) ;
(5) (desde C++23)
basic_stacktrace ( basic_stacktrace && other, const allocator_type & alloc ) ;
(6) (desde C++23)

Construye un vacío basic_stacktrace , o copia/mueve desde other .

1) Constructor por defecto. Construye un basic_stacktrace vacío con un asignador construido por defecto.
2) Construye un basic_stacktrace vacío utilizando alloc como el asignador de memoria.
3) Constructor de copia. Construye un basic_stacktrace con la copia de los contenidos de other , el asignador se obtiene como si se llamara a std:: allocator_traits < allocator_type > :: select_on_container_copy_construction ( other. get_allocator ( ) ) .
4) Constructor de movimiento. Construye un basic_stacktrace con el contenido de other usando semántica de movimiento. El asignador de memoria se construye por movimiento a partir del de other . Después de la construcción, other queda en un estado válido pero no especificado.
5) Lo mismo que el constructor de copia, excepto que alloc se utiliza como el asignador.
6) Se comporta igual que el constructor de movimiento si alloc == other. get_allocator ( ) . De lo contrario, asigna memoria con alloc y realiza movimiento elemento por elemento. alloc se utiliza como el asignador de memoria.

(3,5,6) puede lanzar una excepción o construir un basic_stacktrace vacío en caso de fallo de asignación.

Contenidos

Parámetros

alloc - allocator a utilizar para todas las asignaciones de memoria del basic_stacktrace construido
other - otro basic_stacktrace desde el cual copiar/mover

Excepciones

1)
noexcept especificación:
noexcept ( std:: is_nothrow_default_constructible_v < allocator_type > )
3,5,6) Puede propagar la excepción lanzada ante un fallo de asignación.

Complejidad

1,2) Constante.
3) Lineal en tamaño de other .
4) Constante.
5) Lineal en tamaño de other .
6) Lineal en tamaño de other si alloc ! = other. get_allocator ( ) , en caso contrario constante.

Notas

Después de la construcción por movimiento del contenedor (sobrecarga ( 4 ) ), las referencias, punteros e iteradores (excepto el iterador final) a other permanecen válidos, pero se refieren a elementos que ahora están en * this . El estándar actual garantiza esto mediante la declaración general en [container.reqmts]/67 , y se está considerando una garantía más directa a través de LWG issue 2321 .

Ejemplo

Véase también

asigna al basic_stacktrace
(función miembro pública)
[static]
obtiene el seguimiento de pila actual o su parte especificada
(función miembro estática pública)