Namespaces
Variants

std::basic_stacktrace<Allocator>:: current

From cppreference.net
static basic_stacktrace current ( const allocator_type & alloc =
allocator_type ( ) ) noexcept ;
(1) (C++23以降)
static basic_stacktrace current ( size_type skip, const allocator_type & alloc =
allocator_type ( ) ) noexcept ;
(2) (C++23以降)
static basic_stacktrace current ( size_type skip, size_type max_depth,

const allocator_type & alloc =

allocator_type ( ) ) noexcept ;
(3) (C++23以降)

s [ i ] を、現在の実行スレッドにおける現在の評価のスタックトレース内の( i +1 )番目のスタックトレースエントリとします(0 ≤ i < n )。ここで n はスタックエントリ内のスタックトレースエントリの総数です。

1) basic_stacktrace を生成しようと試みます。生成されるスタックトレースは s [ 0 ] s [ 1 ] 、...、 s [ n - 1 ] で構成されます。
2) basic_stacktrace を作成しようと試みる。これは s [ m ] s [ m + 1 ] 、...、 s [ n - 1 ] から構成され、ここで m min(skip, n ) である。
3) basic_stacktrace を生成しようと試みる。これは s [ m ] s [ m + 1 ] 、...、 s [ o - 1 ] から構成される。ここで m min(skip, n ) o min(skip + max_depth, n ) である。 skip + max_depth < skip の場合(すなわち skip + max_depth の数学的結果がオーバーフローする場合)、動作は未定義である。

すべての場合において、 alloc は作成された basic_stacktrace に格納され、スタックトレースエントリのストレージ割り当てに使用されます。

目次

パラメータ

alloc - 構築される basic_stacktrace の全メモリ割り当てに使用するアロケータ
skip - スキップするスタックトレースエントリの数
max_depth - スタックトレースエントリの最大深度

戻り値

確保が成功した場合、前述の basic_stacktrace が生成されます。

それ以外の場合、空の basic_stacktrace が返されます。

関連項目

新しい basic_stacktrace を作成する
(公開メンバ関数)
[static]
呼び出し元の位置に対応する新しい source_location を構築する
( std::source_location の公開静的メンバ関数)