Spec-Zone.ru › C++

std::operator<<(std::basic_stacktrace)

Определено в заголовочном файле <stacktrace>
template< class Allocator >
std::ostream& operator<<( std::ostream& os, const std::basic_stacktrace<Allocator>& st );
(начиная с C++23)

Вставляет описание st в выходной поток os. Эквивалентно return os << std::to_string(st);.

Параметры

os - выходной поток
st - basic_stacktrace, описание которого требуется вставить

Возвращаемое значение

os.

Исключения

Может генерировать исключения, определяемые реализацией.

Пример

#include <stacktrace>
#include <iostream>

int main()
{
    std::cout << "The stacktrace obtained in the main function:\n";
    std::cout << std::stacktrace::current() << '\n';
    []{
        std::cout << "The stacktrace obtained in a nested lambda:\n";
        std::cout << std::stacktrace::current() << '\n';
    }();
}

Возможный вывод:

The stacktrace obtained in the main function:
 0# 0x0000000000402E7B in ./prog.exe
 1# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
 2# 0x0000000000402CD9 in ./prog.exe

The stacktrace obtained in a nested lambda:
 0# 0x0000000000402DDA in ./prog.exe
 1# 0x0000000000402EB2 in ./prog.exe
 2# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
 3# 0x0000000000402CD9 in ./prog.exe

См. также

operator<<
(C++23)
выполняет вывод stacktrace_entry в поток
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/basic_stacktrace/operator_ltlt

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API