Namespaces
Variants

std:: formatter <std::basic_stacktrace>

From cppreference.net
Definiert im Header <stacktrace>
template < class Allocator >
struct formatter < std:: basic_stacktrace < Allocator >> ;
(seit C++23)

Die Template-Spezialisierung von std::formatter für std::basic_stacktrace<Allocator> ermöglicht es Benutzern, ein Stacktrace-Objekt mittels Formatierungsfunktionen wie std::format in einen String zu konvertieren.

Kein Formatbezeichner ist erlaubt.

Ein Stacktrace-Objekt s wird formatiert, als ob std::to_string ( s ) in die Ausgabe kopiert würde.

Beispiel

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

Mögliche Ausgabe:

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

Siehe auch

(C++20)
definiert Formatierungsregeln für einen gegebenen Typ
(Klassentemplate)
(C++23)
gibt auf stdout oder einen Dateistream unter Verwendung einer formatierten Darstellung der Argumente aus
(Funktionstemplate)