Namespaces
Variants

std:: formatter <std::basic_stacktrace>

From cppreference.net
Défini dans l'en-tête <stacktrace>
template < class Allocator >
struct formatter < std:: basic_stacktrace < Allocator >> ;
(depuis C++23)

La spécialisation de modèle de std::formatter pour std::basic_stacktrace<Allocator> permet aux utilisateurs de convertir un objet stacktrace en chaîne de caractères en utilisant les fonctions de formatage telles que std::format .

Aucun spécificateur de format n'est autorisé.

Un objet stacktrace s est formaté comme s'il était copié std::to_string ( s ) vers la sortie.

Exemple

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

Sortie possible :

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

Voir aussi

(C++20)
définit les règles de formatage pour un type donné
(modèle de classe)
(C++23)
imprime vers stdout ou un flux de fichier en utilisant la représentation formatée des arguments
(modèle de fonction)