static basic_stacktrace current( const allocator_type& alloc = allocator_type() ) noexcept; | (1) | (since C++23) |
static basic_stacktrace current( size_type skip, const allocator_type& alloc = allocator_type() ) noexcept; | (2) | (since C++23) |
static basic_stacktrace current( size_type skip, size_type max_depth, const allocator_type& alloc = allocator_type() ) noexcept; | (3) | (since C++23) |
Let s[i]
(0 ≤ i
< n
) denote the (i+1
)-th stacktrace entry in the stacktrace of the current evaluation in the current thread of execution, where n
is the count of the stacktrace entries in the stackentry.
basic_stacktrace
consisting of s[0]
, s[1]
, ..., s[n - 1]
.basic_stacktrace
consisting of s[m]
, s[m + 1]
, ..., s[n - 1]
, where m
is min(skip, n)
.basic_stacktrace
consisting of s[m]
, s[m + 1]
, ..., s[o - 1]
, where m
is min(skip, n)
and o
is min(skip + max_depth, n)
. The behavior is undefined if the skip + max_depth < skip
(i.e. the mathematical result of skip + max_depth
overflows).In all cases, alloc
is stored into the created basic_stacktrace
and used to allocate the storage for stacktrace entries.
alloc | - | allocator to use for all memory allocations of the constructed basic_stacktrace |
skip | - | the number of stacktrace entries to skip |
max_depth | - | the maximum depth of the stacktrace entries |
If the allocation succeeds, the basic_stacktrace
described above.
Otherwise, an empty basic_stacktrace
.
(C++23) | creates a new basic_stacktrace (public member function) |
[static] | constructs a new source_location corresponding to the location of the call site (public static member function of std::source_location ) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/basic_stacktrace/current