std::basic_stacktrace<Allocator>::basic_stacktrace
De cppreference.com
basic_stacktrace() noexcept(/* vase ms 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 vaco, o lo copia o lo mueve de other.
1) Constructor por defecto. Construye un objeto
basic_stacktrace vaco con un asignador de memoria construido por defecto.2) Construye un objeto
basic_stacktrace vaco 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 semntica de movimiento. El asignador se construye por movimiento del de other. Despus de la construccin, other se deja en un estado vlido 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 excepcin o construir un objeto basic_stacktrace vaco si hay una falla durante la asignacin de memoria.
Parmetros
| 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)
Especificacin noexcept: (desde C++11)
noexcept(std::is_nothrow_default_constructible_v<allocator_type>)
|
||
3,5,6) Puede propagar la excepcin lanzada durante una falla en la asignacin de memoria.
Complejidad
1-2) Constante.
3) Lineal con respecto al tamao de
other.4) Constante.
5) Lineal con respecto al tamao de
other.6) Lineal con respecto al tamao de
other si alloc != other.get_allocator(); de lo constrario, constante.Notas
Despus de la construccin por movimiento de un contenedor (la sobrecarga (4)), las referencias, punteros e iteradores (aparte del iterador al final) a other permanecen vlidos, pero se refieren a los elementos que ahora se encuentran en *this. El estndar actual da esta garanta va la generalizacin en [container.requirements.general]/12, y una garanta ms directa est bajo consideracin va LWG 2321.
Ejemplo
| Esta seccin est incompleta Razn: sin ejemplo |
Vase tambin
(C++23) |
Asigna al objeto basic_stacktrace (funcin miembro pblica) |
[esttico] (C++23) |
Obtiene el listado de pila actual o su parte dada (funcin miembro esttica pblica) |