std::basic_stacktrace<Allocator>::current
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] (0 ≤ i < n) обозначает i+1-ю запись трассировки стека в трассировке стека текущего вычисления в текущем потоке выполнения, где n — количество записей трассировки стека в записи стека.
basic_stacktrace, состоящую из s[0], s[1], ..., s[n - 1].basic_stacktrace, состоящую из s[m], s[m + 1], ..., s[n - 1], где m равно min(skip, n).basic_stacktrace, состоящую из s[m], s[m + 1], ..., s[o - 1], где m равно min(skip, n), а o равно min(skip + max_depth, n).| Если | (до C++26) |
| Если
| (начиная с C++26) |
Во всех случаях alloc сохраняется в созданном объекте basic_stacktrace и используется для выделения памяти под записи трассировки стека.
Параметры
| alloc | - | аллокатор, используемый для всех операций выделения памяти для создаваемого объекта basic_stacktrace |
| skip | - | количество пропускаемых записей трассировки стека |
| max_depth | - | максимальная глубина трассировки стека |
Возвращаемое значение
Если выделение памяти выполнено успешно, возвращается описанный выше basic_stacktrace.
В противном случае возвращается пустой объект basic_stacktrace.
Пример
См. также
создаёт новый объект basic_stacktrace (открытая функция-член) |
|
|
[статическая] | создаёт новый объект source_location, соответствующий месту вызова (открытая статическая функция-член std::source_location) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/basic_stacktrace/current