Пространства имён
Варианты
Действия

std::formatter<basic_stacktrace>

Материал из cppreference.com
 
 
Библиотека диагностики
Обработка исключений
Сбои обработки исключений
(до C++17*)
(до C++17*)
(C++11)(до C++17*)    
(до C++17*)
Коды ошибок
Коды ошибок
Категории исключений
(ТС TM)
Поддержка системных ошибок
(C++11)
(C++11)
Утверждения
Трассировка стека
 
 
<tbody> </tbody>
Определено в заголовочном файле <stacktrace>
template< class Allocator > struct formatter<basic_stacktrace<Allocator>>;
(начиная с C++23)

Специализация шаблона std::formatter для std::basic_stacktrace<Allocator> позволяет пользователям преобразовывать объект stacktrace в строку, используя функции форматирования, такие как std::format.

Спецификатор формата не допускается.

Объект трассировки стека s форматируется, как если бы он копировал std::to_string(s) в вывод.

Пример

#include <format>
#include <iostream>
#include <stacktrace>

int main()
{
    auto trace = std::stacktrace::current();
    std::cout << std::format("{}\n", trace);
}

Возможный вывод:

 0# 0x0000000000402D97 in ./prog.exe
 1# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
 2# 0x0000000000402CA9 in ./prog.exe

Смотрите также

(C++20)
шаблонный класс, который определяет правила форматирования для данного типа
(шаблон класса) [править]
(C++23)
печатает в stdout или в файловый поток, используя форматированное представление аргументов
(шаблон функции) [править]