Namensräume
Varianten
Aktionen

std::formatter<std::basic_stacktrace>

Von cppreference.com
 
 
 
 
Definiert in der Header-Datei <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 mit Formatierungsfunktionen wie std::format in einen String zu konvertieren.

Kein Formatierungsbezeichner ist erlaubt.

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

[bearbeiten] 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

[bearbeiten] Siehe auch

(C++20)
definiert Formatierungsregeln für einen gegebenen Typ
(Klassentemplate) [bearbeiten]
(C++23)
druckt nach stdout oder einem Dateistream unter Verwendung der formatierten Darstellung der Argumente
(Funktionstemplate) [bearbeiten]