Namespaces
Variants
Actions

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

From cppreference.com
 
 
Diagnostics library
 
 
Defined in header <stacktrace>
template< class Allocator >
std::ostream & operator<<( std::ostream & os, const std::basic_stacktrace <Allocator>& st );
(since C++23)

Inserts the description of st into the output stream os. Equivalent to return os << std::to_string (st);.

[edit] Parameters

os - an output stream
st - a basic_stacktrace whose description is to be inserted

[edit] Return value

os.

[edit] Exceptions

May throw implementation-defined exceptions.

[edit] Example

Run this code
#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';
 }();
}

Possible output:

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

[edit] See also

(C++23)
performs stream output of stacktrace_entry
(function template) [edit]
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/basic_stacktrace/operator_ltlt&oldid=148098"

AltStyle によって変換されたページ (->オリジナル) /