std:: formatter <std::basic_stacktrace>
From cppreference.net
<
cpp
|
utility
|
basic stacktrace
C++
Diagnostics library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::basic_stacktrace
| Member functions | ||||
| Iterators | ||||
| Capacity | ||||
| Element access | ||||
| Modifiers | ||||
| Non-member functions | ||||
| Helper classes | ||||
|
formatter
<std::basic_stacktrace>
|
|
ヘッダーで定義
<stacktrace>
|
||
|
template
<
class
Allocator
>
struct formatter < std:: basic_stacktrace < Allocator >> ; |
(C++23以降) | |
std::formatter のテンプレート特殊化は、 std::basic_stacktrace<Allocator> に対して、スタックトレースオブジェクトを文字列に変換することを可能にします。これは フォーマット機能 を使用して行われ、例えば 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)
|
引数の
フォーマット済み
表現を使用して
標準出力
またはファイルストリームに出力する
(関数テンプレート) |