diff --git a/BOOST_STACKTRACE_DEFAULT_MAX_DEPTH.html b/BOOST_STACKTRACE_DEFAULT_MAX_DEPTH.html index 8e31549..59946d5 100644 --- a/BOOST_STACKTRACE_DEFAULT_MAX_DEPTH.html +++ b/BOOST_STACKTRACE_DEFAULT_MAX_DEPTH.html @@ -32,7 +32,7 @@ BOOST_STACKTRACE_DEFAULT_MAX_DEPTH
-

Description

+

Description

You may define this macro to some positive integer to limit the max stack frames count for the boost::stacktrace::stacktrace class. This macro does not affect the boost::stacktrace::basic_stacktrace.

Default: 100

diff --git a/boost/stacktrace/basic_stacktrace.html b/boost/stacktrace/basic_stacktrace.html index 723cbf2..758bc5f 100644 --- a/boost/stacktrace/basic_stacktrace.html +++ b/boost/stacktrace/basic_stacktrace.html @@ -42,75 +42,75 @@ typedef std::reverse_iterator< const_iterator > const_reverse_iterator; // construct/copy/destruct - basic_stacktrace() noexcept; - basic_stacktrace(const basic_stacktrace &) noexcept; - basic_stacktrace & operator=(const basic_stacktrace &) noexcept; - ~basic_stacktrace(); + basic_stacktrace() noexcept; + basic_stacktrace(const basic_stacktrace &) noexcept; + basic_stacktrace & operator=(const basic_stacktrace &) noexcept; + ~basic_stacktrace(); - // public member functions - std::size_t size() const noexcept; - frame operator[](std::size_t) const noexcept; - const_iterator begin() const noexcept; - const_iterator cbegin() const noexcept; - const_iterator end() const noexcept; - const_iterator cend() const noexcept; - const_reverse_iterator rbegin() const noexcept; - const_reverse_iterator crbegin() const noexcept; - const_reverse_iterator rend() const noexcept; - const_reverse_iterator crend() const noexcept; - explicit operator bool() const noexcept; - bool empty() const noexcept; - bool operator<(const basic_stacktrace &) const noexcept; - bool operator==(const basic_stacktrace &) const noexcept; - std::size_t hash_code() const noexcept; + // public member functions + std::size_t size() const noexcept; + frame operator[](std::size_t) const noexcept; + const_iterator begin() const noexcept; + const_iterator cbegin() const noexcept; + const_iterator end() const noexcept; + const_iterator cend() const noexcept; + const_reverse_iterator rbegin() const noexcept; + const_reverse_iterator crbegin() const noexcept; + const_reverse_iterator rend() const noexcept; + const_reverse_iterator crend() const noexcept; + explicit operator bool() const noexcept; + bool empty() const noexcept; + bool operator<(const basic_stacktrace &) const noexcept; + bool operator==(const basic_stacktrace &) const noexcept; + std::size_t hash_code() const noexcept; // public data members static constexpr std::size_t max_depth; // Max stack frames count that this class may hold. Equal to Depth template parameter. };
-

Description

+

Description

Class that on construction copies minimal information about call stack into its internals and provides access to that information.

-

Template Parameters

+

Template Parameters

  1. std::size_t Depth

    Max stack frames count that this class may hold. Equal to basic_stacktrace::max_depth.

-

+

basic_stacktrace public construct/copy/destruct

  1. -
    basic_stacktrace() noexcept;
    Stores the current function call sequence inside the class.

    Complexity: O(N) where N is call sequence length, O(1) for noop backend.

    +
    basic_stacktrace() noexcept;
    Stores the current function call sequence inside the class.

    Complexity: O(N) where N is call sequence length, O(1) for noop backend.

    Async-Handler-Safety: Depends on backend, see "Build, Macros and Backends" section.

  2. -
    basic_stacktrace(const basic_stacktrace & st) noexcept;
    +
    basic_stacktrace(const basic_stacktrace & st) noexcept;

    Complexity: O(st.size())

    Async-Handler-Safety: Safe.

  3. -
    basic_stacktrace & operator=(const basic_stacktrace & st) noexcept;
    +
    basic_stacktrace & operator=(const basic_stacktrace & st) noexcept;

    Complexity: O(st.size())

    Async-Handler-Safety: Safe.

  4. -
    ~basic_stacktrace();
    +
    ~basic_stacktrace();

    Complexity: O(1)

    Async-Handler-Safety: Safe.

-

-basic_stacktrace public member functions

+

+basic_stacktrace public member functions

  1. -
    std::size_t size() const noexcept;
    +
    std::size_t size() const noexcept;

    Complexity: O(1)

    Async-Handler-Safety: Safe.

    @@ -123,7 +123,7 @@
  • -
    frame operator[](std::size_t frame_no) const noexcept;
    +
    frame operator[](std::size_t frame_no) const noexcept;

    Complexity: Amortized O(1), O(1) for noop backend.

    @@ -149,47 +149,47 @@
  • -
    const_iterator begin() const noexcept;
    +
    const_iterator begin() const noexcept;

    Complexity: O(1)

    Async-Handler-Safety: Safe.

  • -
    const_iterator cbegin() const noexcept;
    +
    const_iterator cbegin() const noexcept;

    Complexity: O(1)

    Async-Handler-Safety: Safe.

  • -
    const_iterator end() const noexcept;
    +
    const_iterator end() const noexcept;

    Complexity: O(1)

    Async-Handler-Safety: Safe.

  • -
    const_iterator cend() const noexcept;
    +
    const_iterator cend() const noexcept;

    Complexity: O(1)

    Async-Handler-Safety: Safe.

  • -
    const_reverse_iterator rbegin() const noexcept;
    +
    const_reverse_iterator rbegin() const noexcept;

    Complexity: O(1)

    Async-Handler-Safety: Safe.

  • -
    const_reverse_iterator crbegin() const noexcept;
    +
    const_reverse_iterator crbegin() const noexcept;

    Complexity: O(1)

    Async-Handler-Safety: Safe.

  • -
    const_reverse_iterator rend() const noexcept;
    +
    const_reverse_iterator rend() const noexcept;

    Complexity: O(1)

    Async-Handler-Safety: Safe.

  • -
    const_reverse_iterator crend() const noexcept;
    +
    const_reverse_iterator crend() const noexcept;

    Complexity: O(1)

    Async-Handler-Safety: Safe.

  • -
    explicit operator bool() const noexcept;
    Allows to check that stack trace capturing was successful.

    +

    explicit operator bool() const noexcept;
    Allows to check that stack trace capturing was successful.

    Complexity: O(1)

    Async-Handler-Safety: Safe.

    @@ -201,7 +201,7 @@
  • -
    bool empty() const noexcept;
    Allows to check that stack trace failed.

    +

    bool empty() const noexcept;
    Allows to check that stack trace failed.

    Complexity: O(1)

    Async-Handler-Safety: Safe.

    @@ -213,15 +213,15 @@
  • -
    bool operator<(const basic_stacktrace & rhs) const noexcept;
    Compares stacktraces for less, order is platform dependant.

    Complexity: Amortized O(1); worst case O(size())

    +
    bool operator<(const basic_stacktrace & rhs) const noexcept;
    Compares stacktraces for less, order is platform dependant.

    Complexity: Amortized O(1); worst case O(size())

    Async-Handler-Safety: Safe.

  • -
    bool operator==(const basic_stacktrace & rhs) const noexcept;
    Compares stacktraces for equality.

    Complexity: Amortized O(1); worst case O(size())

    +
    bool operator==(const basic_stacktrace & rhs) const noexcept;
    Compares stacktraces for equality.

    Complexity: Amortized O(1); worst case O(size())

    Async-Handler-Safety: Safe.

  • -
    std::size_t hash_code() const noexcept;
    Returns hashed code of the stacktrace.

    Complexity: O(1)

    +
    std::size_t hash_code() const noexcept;
    Returns hashed code of the stacktrace.

    Complexity: O(1)

    Async-Handler-Safety: Safe.

  • diff --git a/boost/stacktrace/frame.html b/boost/stacktrace/frame.html index 4acc5b6..4e0f352 100644 --- a/boost/stacktrace/frame.html +++ b/boost/stacktrace/frame.html @@ -35,29 +35,29 @@ class frame { public: // construct/copy/destruct - frame() noexcept; - frame(const frame &) = default; - explicit frame(const void *) noexcept; - frame & operator=(const frame &) = default; + frame() noexcept; + frame(const frame &) = default; + explicit frame(const void *) noexcept; + frame & operator=(const frame &) = default; - // public member functions - std::string name() const; - const void * address() const noexcept; - std::string source_file() const; - std::size_t source_line() const; - explicit operator bool() const noexcept; - bool empty() const noexcept; + // public member functions + std::string name() const; + const void * address() const noexcept; + std::string source_file() const; + std::size_t source_line() const; + explicit operator bool() const noexcept; + bool empty() const noexcept; };
    -

    Description

    +

    Description

    -

    +

    frame public construct/copy/destruct

    1. -
      frame() noexcept;
      Constructs frame that references NULL address. Calls to source_file() and source_line() wil lreturn empty string. Calls to source_line() will return 0.

      Complexity: O(1).

      +
      frame() noexcept;
      Constructs frame that references NULL address. Calls to source_file() and source_line() wil lreturn empty string. Calls to source_line() will return 0.

      Complexity: O(1).

      Async-Handler-Safety: Safe.

      @@ -69,7 +69,7 @@
    2. -
      frame(const frame &) = default;
      Copy constructs frame.

      Complexity: O(1).

      +
      frame(const frame &) = default;
      Copy constructs frame.

      Complexity: O(1).

      Async-Handler-Safety: Safe.

      @@ -81,7 +81,7 @@
    3. -
      explicit frame(const void * addr) noexcept;
      Constructs frame that can extract information from addr at runtime.

      Complexity: O(1).

      +
      explicit frame(const void * addr) noexcept;
      Constructs frame that can extract information from addr at runtime.

      Complexity: O(1).

      Async-Handler-Safety: Safe.

      @@ -93,7 +93,7 @@
    4. -
      frame & operator=(const frame &) = default;
      Copy assigns frame.

      Complexity: O(1).

      +
      frame & operator=(const frame &) = default;
      Copy assigns frame.

      Complexity: O(1).

      Async-Handler-Safety: Safe.

      @@ -107,11 +107,11 @@
      -

      -frame public member functions

      +

      +frame public member functions

      1. -
        std::string name() const;
        +
        std::string name() const;

        Async-Handler-Safety: Unsafe.

        @@ -130,7 +130,7 @@
    5. -
      const void * address() const noexcept;
      +
      const void * address() const noexcept;

      Async-Handler-Safety: Safe.

      @@ -149,7 +149,7 @@
  • -
    std::string source_file() const;
    +
    std::string source_file() const;

    Async-Handler-Safety: Unsafe.

    @@ -168,7 +168,7 @@
  • -
    std::size_t source_line() const;
    +
    std::size_t source_line() const;

    Async-Handler-Safety: Unsafe.

    @@ -187,7 +187,7 @@
  • -
    explicit operator bool() const noexcept;
    Checks that frame is not references NULL address.

    +

    explicit operator bool() const noexcept;
    Checks that frame is not references NULL address.

    Complexity: O(1)

    Async-Handler-Safety: Safe.

    @@ -199,7 +199,7 @@
  • -
    bool empty() const noexcept;
    Checks that frame references NULL address.

    +

    bool empty() const noexcept;
    Checks that frame references NULL address.

    Complexity: O(1)

    Async-Handler-Safety: Safe.

    diff --git a/boost_stacktrace/getting_started.html b/boost_stacktrace/getting_started.html index 98b0259..9bc347d 100644 --- a/boost_stacktrace/getting_started.html +++ b/boost_stacktrace/getting_started.html @@ -77,11 +77,11 @@

    Code from above will output something like this:

    -
    0# bar(int)
    -1# bar(int)
    -2# bar(int)
    -3# bar(int)
    -4# main
    +
    0# bar(int) at /path/to/source/file.cpp:70
    +1# bar(int) at /path/to/source/file.cpp:70
    +2# bar(int) at /path/to/source/file.cpp:70
    +3# bar(int) at /path/to/source/file.cpp:70
    +4# main at /path/to/main.cpp:93
     5# __libc_start_main
     6# _start
     
    @@ -134,14 +134,14 @@

    Terminate called:
      0# boost::stacktrace::detail::backend::backend(void**, unsigned long)
    - 1# my_terminate_handler() at /data/boost/libs/stacktrace/example/terminate_handler.cpp:37
    + 1# my_terminate_handler() at boost/libs/stacktrace/example/terminate_handler.cpp:37
      2# 0x7f624107a6b6
      3# 0x7f624107a701
    - 4# bar(int) at /data/boost/libs/stacktrace/example/terminate_handler.cpp:18
    - 5# foo(int) at /data/boost/libs/stacktrace/example/terminate_handler.cpp:22
    - 6# bar(int) at /data/boost/libs/stacktrace/example/terminate_handler.cpp:18
    - 7# foo(int) at /data/boost/libs/stacktrace/example/terminate_handler.cpp:22
    - 8# main at /data/boost/libs/stacktrace/example/terminate_handler.cpp:64
    + 4# bar(int) at boost/libs/stacktrace/example/terminate_handler.cpp:18
    + 5# foo(int) at boost/libs/stacktrace/example/terminate_handler.cpp:22
    + 6# bar(int) at boost/libs/stacktrace/example/terminate_handler.cpp:18
    + 7# foo(int) at boost/libs/stacktrace/example/terminate_handler.cpp:22
    + 8# main at boost/libs/stacktrace/example/terminate_handler.cpp:64
      9# __libc_start_main
     10# _start
     
    @@ -157,11 +157,11 @@ 5# my_terminate_handler() 6# 0x7f624107a6b6 7# 0x7f624107a701 - 8# bar(int) at /data/boost/libs/stacktrace/example/terminate_handler.cpp:18 - 9# foo(int) at /data/boost/libs/stacktrace/example/terminate_handler.cpp:22 -10# bar(int) at /data/boost/libs/stacktrace/example/terminate_handler.cpp:18 -11# foo(int) at /data/boost/libs/stacktrace/example/terminate_handler.cpp:22 -12# main at /data/boost/libs/stacktrace/example/terminate_handler.cpp:64 + 8# bar(int) at boost/libs/stacktrace/example/terminate_handler.cpp:18 + 9# foo(int) at boost/libs/stacktrace/example/terminate_handler.cpp:22 +10# bar(int) at boost/libs/stacktrace/example/terminate_handler.cpp:18 +11# foo(int) at boost/libs/stacktrace/example/terminate_handler.cpp:22 +12# main at boost/libs/stacktrace/example/terminate_handler.cpp:64 13# __libc_start_main 14# _start
    @@ -216,13 +216,13 @@
    Expression 'i < N' is false in function 'T& boost::array<T, N>::operator[](boost::array<T, N>::size_type) [with T = int; long unsigned int N = 5ul; boost::array<T, N>::reference = int&; boost::array<T, N>::size_type = long unsigned int]': out of range.
     Backtrace:
      0# boost::stacktrace::detail::backend::backend(void**, unsigned long)
    - 1# boost::assertion_failed_msg(char const*, char const*, char const*, char const*, long) at /data/boost/libs/stacktrace/example/assert_handler.cpp:38
    + 1# boost::assertion_failed_msg(char const*, char const*, char const*, char const*, long) at boost/libs/stacktrace/example/assert_handler.cpp:38
      2# boost::array<int, 5ul>::operator[](unsigned long)
    - 3# bar(int) at /data/boost/libs/stacktrace/example/assert_handler.cpp:16
    - 4# foo(int) at /data/boost/libs/stacktrace/example/assert_handler.cpp:24
    - 5# bar(int) at /data/boost/libs/stacktrace/example/assert_handler.cpp:20
    - 6# foo(int) at /data/boost/libs/stacktrace/example/assert_handler.cpp:24
    - 7# main at /data/boost/libs/stacktrace/example/assert_handler.cpp:53
    + 3# bar(int) at boost/libs/stacktrace/example/assert_handler.cpp:16
    + 4# foo(int) at boost/libs/stacktrace/example/assert_handler.cpp:24
    + 5# bar(int) at boost/libs/stacktrace/example/assert_handler.cpp:20
    + 6# foo(int) at boost/libs/stacktrace/example/assert_handler.cpp:24
    + 7# main at boost/libs/stacktrace/example/assert_handler.cpp:53
      8# __libc_start_main
      9# _start
     
    @@ -291,14 +291,14 @@
    'i' must not be greater than zero in oops()
     Backtrace:
      0# boost::stacktrace::detail::backend::backend(void**, unsigned long)
    - 1# traced::traced() at /data/boost/libs/stacktrace/example/throwing_st.cpp:20
    - 2# with_trace<std::logic_error>::with_trace<char const (&) [44]>(char const (&) [44]) at /data/boost/libs/stacktrace/example/throwing_st.cpp:33
    + 1# traced::traced() at boost/libs/stacktrace/example/throwing_st.cpp:20
    + 2# with_trace<std::logic_error>::with_trace<char const (&) [44]>(char const (&) [44]) at boost/libs/stacktrace/example/throwing_st.cpp:33
      3# oops(int)
    - 4# bar(int) at /data/boost/libs/stacktrace/example/throwing_st.cpp:70
    - 5# foo(int) at /data/boost/libs/stacktrace/example/throwing_st.cpp:75
    - 6# bar(int) at /data/boost/libs/stacktrace/example/throwing_st.cpp:65
    - 7# foo(int) at /data/boost/libs/stacktrace/example/throwing_st.cpp:75
    - 8# main at /data/boost/libs/stacktrace/example/throwing_st.cpp:93
    + 4# bar(int) at boost/libs/stacktrace/example/throwing_st.cpp:70
    + 5# foo(int) at boost/libs/stacktrace/example/throwing_st.cpp:75
    + 6# bar(int) at boost/libs/stacktrace/example/throwing_st.cpp:65
    + 7# foo(int) at boost/libs/stacktrace/example/throwing_st.cpp:75
    + 8# main at boost/libs/stacktrace/example/throwing_st.cpp:93
      9# __libc_start_main
     10# _start
     
    @@ -385,7 +385,7 @@

    Code from above will output:

    -
    my_signal_handler(int) at /data/boost/libs/stacktrace/example/debug_function.cpp:21
    +
    my_signal_handler(int) at boost/libs/stacktrace/example/debug_function.cpp:21
     
    diff --git a/boost_stacktrace_header_reference.html b/boost_stacktrace_header_reference.html index b80f8fe..13ab018 100644 --- a/boost_stacktrace_header_reference.html +++ b/boost_stacktrace_header_reference.html @@ -42,26 +42,26 @@ // Comparison operators that provide platform dependant ordering and have amortized O(1) complexity; O(size()) worst case complexity; are Async-Handler-Safe. template<std::size_t Depth> - bool operator>(const basic_stacktrace< Depth > & lhs, + bool operator>(const basic_stacktrace< Depth > & lhs, const basic_stacktrace< Depth > & rhs); template<std::size_t Depth> - bool operator<=(const basic_stacktrace< Depth > & lhs, + bool operator<=(const basic_stacktrace< Depth > & lhs, const basic_stacktrace< Depth > & rhs); template<std::size_t Depth> - bool operator>=(const basic_stacktrace< Depth > & lhs, + bool operator>=(const basic_stacktrace< Depth > & lhs, const basic_stacktrace< Depth > & rhs); template<std::size_t Depth> - bool operator!=(const basic_stacktrace< Depth > & lhs, + bool operator!=(const basic_stacktrace< Depth > & lhs, const basic_stacktrace< Depth > & rhs); // Hashing support, O(1) complexity; Async-Handler-Safe. template<std::size_t Depth> - std::size_t hash_value(const basic_stacktrace< Depth > & st); + std::size_t hash_value(const basic_stacktrace< Depth > & st); // Outputs stacktrace in a human readable format to output stream; unsafe to use in async handlers. template<typename CharT, typename TraitsT, std::size_t Depth> std::basic_ostream< CharT, TraitsT > & - operator<<(std::basic_ostream< CharT, TraitsT > & os, + operator<<(std::basic_ostream< CharT, TraitsT > & os, const basic_stacktrace< Depth > & bt); } }
    @@ -83,20 +83,20 @@ classframe;// Comparison operators that provide platform dependant ordering and have O(1) complexity; are Async-Handler-Safe. - booloperator<(constframe& lhs,constframe& rhs); - booloperator>(constframe& lhs,constframe& rhs); - booloperator<=(constframe& lhs,constframe& rhs); - booloperator>=(constframe& lhs,constframe& rhs); + booloperator<(constframe& lhs,constframe& rhs); + booloperator>(constframe& lhs,constframe& rhs); + booloperator<=(constframe& lhs,constframe& rhs); + booloperator>=(constframe& lhs,constframe& rhs);booloperator==(constframe& lhs,constframe& rhs); - booloperator!=(constframe& lhs,constframe& rhs); + booloperator!=(constframe& lhs,constframe& rhs);// Hashing support, O(1) complexity; Async-Handler-Safe. - std::size_thash_value(constframe& f); + std::size_thash_value(constframe& f);// Outputs stacktrace::frame in a human readable format to output stream; unsafe to use in async handlers. template<typename CharT,typename TraitsT>std::basic_ostream<CharT,TraitsT>& - operator<<(std::basic_ostream<CharT,TraitsT>& os,constframe& f); + operator<<(std::basic_ostream<CharT,TraitsT>& os,constframe& f);}} diff --git a/index.html b/index.html index f7c67d4..5dd9ca9 100644 --- a/index.html +++ b/index.html @@ -92,7 +92,7 @@
    - +

    Last revised: December 10, 2016 at 19:10:35 GMT

    Last revised: December 10, 2016 at 19:21:02 GMT