table of contents
std::basic_stacktrace::current(3) | C++ Standard Libary | std::basic_stacktrace::current(3) |
NAME¶
std::basic_stacktrace::current - std::basic_stacktrace::current
Synopsis¶
static basic_stacktrace current( const allocator_type& alloc
= (1) (since C++23)
allocator_type() ) noexcept;
static basic_stacktrace current( size_type skip, const
allocator_type& alloc = (2) (since C++23)
allocator_type() ) noexcept;
static basic_stacktrace current( size_type skip, size_type
max_depth,
(3) (since C++23)
const allocator_type& alloc =
allocator_type() ) noexcept;
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.
1) Attempts to create a basic_stacktrace consisting of s[0], s[1], ..., s[n -
1].
2) Attempts to create a basic_stacktrace consisting of s[m], s[m + 1], ...,
s[n -
1], where m is min(skip, n).
3) Attempts to create a 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.
Parameters¶
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
Return value¶
If the allocation succeeds, the basic_stacktrace described above.
Otherwise, an empty basic_stacktrace.
Example¶
This section is incomplete
Reason: no example
See also¶
constructor creates a new basic_stacktrace
(public member function)
current constructs a new source_location corresponding to the location of the
[static] call site
(public static member function of std::source_location)
Category:¶
* Todo no example
2024.06.10 | http://cppreference.com |