std::basic_stacktrace<Allocator>::current
Материал из cppreference.com
< cpp | utility | basic stacktrace
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 = |
(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 )
|