Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Boost.Stacktrace Header Reference

Header <boost/stacktrace.hpp>
namespace boost {
  namespace stacktrace {
    class frame_view;
    class stacktrace;

    // Comparison operators that provide platform dependant ordering and have amortized O(1) complexity; O(size()) worst case complexity. 
    bool operator>(const stacktrace & lhs, const stacktrace & rhs);
    bool operator<=(const stacktrace & lhs, const stacktrace & rhs);
    bool operator>=(const stacktrace & lhs, const stacktrace & rhs);
    bool operator!=(const stacktrace & lhs, const stacktrace & rhs);

    // Comparison operators that provide platform dependant ordering and have O(1) complexity. 
    bool operator<(const frame_view & lhs, const frame_view & rhs);
    bool operator>(const frame_view & lhs, const frame_view & rhs);
    bool operator<=(const frame_view & lhs, const frame_view & rhs);
    bool operator>=(const frame_view & lhs, const frame_view & rhs);
    bool operator==(const frame_view & lhs, const frame_view & rhs);
    bool operator!=(const frame_view & lhs, const frame_view & rhs);

    // Hashing support, O(1) complexity. 
    std::size_t hash_value(const stacktrace & st);

    // Hashing support, O(1) complexity. 
    std::size_t hash_value(const frame_view & f);

    // Outputs stacktrace in a human readable format to output stream. 
    template<typename CharT, typename TraitsT> 
      std::basic_ostream< CharT, TraitsT > & 
      operator<<(std::basic_ostream< CharT, TraitsT > & os, 
                 const stacktrace & bt);

    // Outputs stacktrace::frame in a human readable format to output stream. 
    template<typename CharT, typename TraitsT> 
      std::basic_ostream< CharT, TraitsT > & 
      operator<<(std::basic_ostream< CharT, TraitsT > & os, 
                 const frame_view & f);
  }
}

PrevUpHomeNext