std::basic_stacktrace<Allocator>::current
Материал из cppreference.com
<tbody>
</tbody>
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 это количество записей трассировки стека в записи стека.
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 (public функция-элемент) | |
[static] |
создаёт новый source_location, соответствующий местоположению места вызова (public static функция-элемент std::stacktrace_entry)
|