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

NAME
std::operator<<(std::basic_stacktrace) - std::operator<<(std::basic_stacktrace)

Synopsis
   Defined in header <stacktrace>
   template< class Allocator >
   std::ostream& operator<<( std::ostream& os, const (since C++23)
   std::basic_stacktrace<Allocator>& st );
   Inserts the description of st into the output stream os. Equivalent to return os <<
   std::to_string(st);.

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

Return value
   os.

Exceptions
   May throw implementation-defined exceptions.

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

See also
   operator<< performs stream output of stacktrace_entry
   (C++23) (function template)