Espacios de nombres
Variantes
Acciones

Archivo de encabezado de la biblioteca estándar <stacktrace>

De cppreference.com
< cpp‎ | header
 
 
Archivos de encabezado de la biblioteca estándar
 

Este archivo de encabezado es parte de la biblioteca de utilerías generales.

Contenido

Clases

Representación de una evaluación en un listado de pila
(clase)[editar]
Una representación aproximada de una secuencia de invocación que consiste de entradas de listado de pila.
(plantilla de clase)[editar]
Soporte de hash (resumen) para std::stacktrace_entry
(especialización de plantilla de clase)[editar]
Soporte para hash (resumen) para el listado de pila, std::basic_stacktrace
(especialización de plantilla de clase)[editar]
Declaraciones adelantadas
Definido en el archivo de encabezado <functional>
(C++11)
Objeto función de dispersión (hash).
(plantilla de clase)[editar]

Funciones

Especializa el algoritmo std::swap
(plantilla de función)[editar]
(C++23)
Devuelve una cadena con una descripción del objeto stacktrace_entry
(función)[editar]
(C++23)
Devuelve una cadena con una descripción del listado de pila, basic_stacktrace
(plantilla de función)[editar]
(C++23)
Ejecuta salida de flujo del objeto stacktrace_entry
(plantilla de función)[editar]
(C++23)
Ejecuta salida de flujo del listado de pila, basic_stracktrace
(plantilla de función)[editar]

[editar]Sinopsis

namespace std {// clase stacktrace_entryclass stacktrace_entry;   // plantilla de clase basic_stacktracetemplate<class Allocator>class basic_stacktrace;   // nombres de definiciones de tipo de basic_stacktraceusing stacktrace = basic_stacktrace<allocator<stacktrace_entry>>;   // funciones no miembrotemplate<class Allocator>void swap(basic_stacktrace<Allocator>& a, basic_stacktrace<Allocator>& b)noexcept(noexcept(a.swap(b)));   string to_string(const stacktrace_entry& f);   template<class Allocator> string to_string(const basic_stacktrace<Allocator>& st);   template<class CharT, class traits> basic_ostream<CharT, traits>& operator<<(basic_ostream<CharT, traits>& os, const stacktrace_entry& f);   template<class CharT, class Traits, class Allocator> basic_ostream<CharT, traits>& operator<<(basic_ostream<CharT, Traits>& os, const basic_stacktrace<Allocator>& st);   // soporte para hash (resumen)template<class T>struct hash;template<>struct hash<stacktrace_entry>;template<class Allocator>struct hash<basic_stacktrace<Allocator>>;}

[editar]Clase std::stacktrace_entry

namespace std {class stacktrace_entry {public:using native_handle_type =/* definido por la implementación */;   // constructoresconstexpr stacktrace_entry()noexcept;constexpr stacktrace_entry(const stacktrace_entry& other)noexcept;constexpr stacktrace_entry& operator=(const stacktrace_entry& other)noexcept;   ~stacktrace_entry();   // observadoresconstexpr native_handle_type native_handle()constnoexcept;constexprexplicit operator bool()constnoexcept;   // consulta string description()const; string source_file()const; uint_least32_t source_line()const;   // comparaciónfriendconstexprbool operator==(const stacktrace_entry& x, const stacktrace_entry& y)noexcept;friendconstexpr strong_ordering operator<=>(const stacktrace_entry& x, const stacktrace_entry& y)noexcept;};}

[editar]Plantilla de clase std::basic_stacktrace

namespace std {template<class Allocator>class basic_stacktrace {public:using value_type = stacktrace_entry;using const_reference =const value_type&;using reference = value_type&;using const_iterator =/* definido por la implementación */;using iterator = const_iterator;using reverse_iterator =std::reverse_iterator<iterator>;using const_reverse_iterator =std::reverse_iterator<const_iterator>;using difference_type =/* definido por la implementación */;using size_type =/* definido por la implementación */;using allocator_type = Allocator;   // creación y asignaciónstatic basic_stacktrace current(const allocator_type& alloc = allocator_type())noexcept;static basic_stacktrace current(size_type skip, const allocator_type& alloc = allocator_type())noexcept;static basic_stacktrace current(size_type skip, size_type max_depth, const allocator_type& alloc = allocator_type())noexcept;   basic_stacktrace()noexcept(is_nothrow_default_constructible_v<allocator_type>);explicit basic_stacktrace(const allocator_type& alloc)noexcept;   basic_stacktrace(const basic_stacktrace& other); basic_stacktrace(basic_stacktrace&& other)noexcept; basic_stacktrace(const basic_stacktrace& other, const allocator_type& alloc); basic_stacktrace(basic_stacktrace&& other, const allocator_type& alloc); basic_stacktrace& operator=(const basic_stacktrace& other); basic_stacktrace& operator=(basic_stacktrace&& other)noexcept( allocator_traits<Allocator>::propagate_on_container_move_assignment::value|| allocator_traits<Allocator>::is_always_equal::value);   ~basic_stacktrace();   // observadores allocator_type get_allocator()constnoexcept;   const_iterator begin()constnoexcept; const_iterator end()constnoexcept; const_reverse_iterator rbegin()constnoexcept; const_reverse_iterator rend()constnoexcept;   const_iterator cbegin()constnoexcept; const_iterator cend()constnoexcept; const_reverse_iterator crbegin()constnoexcept; const_reverse_iterator crend()constnoexcept;   [[nodiscard]]bool empty()constnoexcept; size_type size()constnoexcept; size_type max_size()constnoexcept;   const_reference operator[](size_type)const; const_reference at(size_type)const;   // comparacionestemplate<class Allocator2>friendbool operator==(const basic_stacktrace& x, const basic_stacktrace<Allocator2>& y)noexcept;template<class Allocator2>friend strong_ordering operator<=>(const basic_stacktrace& x, const basic_stacktrace<Allocator2>& y)noexcept;   // modificadoresvoid swap(basic_stacktrace& other)noexcept(allocator_traits<Allocator>::propagate_on_container_swap::value|| allocator_traits<Allocator>::is_always_equal::value);   private: vector<value_type, allocator_type> frames_;// solo exposición};}
close