Spec-Zone.ru › C++

std::formatter<std::basic_stacktrace>

Определено в заголовке <stacktrace>
template< class Allocator >
struct formatter<std::basic_stacktrace<Allocator>>;
(с C++23)

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

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

Объект stacktrace 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

См. также

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/basic_stacktrace/formatter

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API