Espacios de nombres
Variantes

std::basic_stacktrace<Allocator>::basic_stacktrace

De cppreference.com
 
 
Biblioteca de servicios
 
 
<tbody> </tbody>
basic_stacktrace() noexcept(/* véase 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 objeto basic_stacktrace vacío, o lo copia o lo mueve de other.

1) Constructor por defecto. Construye un objeto basic_stacktrace vacío con un asignador de memoria construido por defecto.
2) Construye un objeto basic_stacktrace vacío usando alloc como el asignador de memoria.
3) Constructor de copia. Construye un objeto basic_stacktrace con la copia del contenido de other, el asignador de memoria 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 objeto basic_stacktrace con el contenido de other usando la semántica de movimiento. El asignador se construye por movimiento del de other. Después de la construcción, other se deja en un estado válido pero no espeficado.
5) Igual que el constructor de copia, excepto que alloc se usa como el asignador de memoria.
6) Se comporta igual que el constructor de movimiento si alloc == other.get_allocator(). De lo contrario, asigna memoria con alloc y realiza un movimiento de elemento por elemento. alloc se usa como el asignador de memoria.

(3,5,6) pueden lanzar una excepción o construir un objeto basic_stacktrace vacío si hay una falla durante la asignación de memoria.

Parámetros

alloc - Asignador de memoria a usar para todas las asignaciones de memoria del objeto basic_stacktrace construido.
other - Otro objeto basic_stacktrace del cual copiar o mover.

Excepciones

1)
Especificación noexcept:   (desde C++11)
<tbody> </tbody>
noexcept(std::is_nothrow_default_constructible_v<allocator_type>)
3,5,6) Puede propagar la excepción lanzada durante una falla en la asignación de memoria.

Complejidad

1-2) Constante.
3) Lineal con respecto al tamaño de other.
4) Constante.
5) Lineal con respecto al tamaño de other.
6) Lineal con respecto al tamaño de other si alloc != other.get_allocator(); de lo constrario, constante.

Notas

Después de la construcción por movimiento de un contenedor (la sobrecarga (4)), las referencias, punteros e iteradores (aparte del iterador al final) a other permanecen válidos, pero se refieren a los elementos que ahora se encuentran en *this. El estándar actual da esta garantía vía la generalización en [container.requirements.general]/12, y una garantía más directa está bajo consideración vía LWG 2321.

Ejemplo

Véase también

(C++23)
Asigna al objeto basic_stacktrace
(función miembro pública) [editar]
[estático] (C++23)
Obtiene el listado de pila actual o su parte dada
(función miembro estática pública) [editar]