Пространства имён
Варианты
Действия

std::basic_stacktrace<Allocator>::current

Материал из cppreference.com
 
 
Библиотека диагностики
Обработка исключений
Сбои обработки исключений
(до C++17*)
(до C++17*)
(C++11)(до C++17*)    
(до C++17*)
Коды ошибок
Коды ошибок
Категории исключений
(ТС TM)
Поддержка системных ошибок
(C++11)
(C++11)
Утверждения
Трассировка стека
 
 
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) [править]