diff --git a/BOOST_STACKTRACE_DEFAULT_MAX_DEPTH.html b/BOOST_STACKTRACE_DEFAULT_MAX_DEPTH.html index 59946d5..af98c1f 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 758bc5f..13ac997 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 4e0f352..d6a2f18 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 9bc347d..aa2055a 100644 --- a/boost_stacktrace/getting_started.html +++ b/boost_stacktrace/getting_started.html @@ -243,9 +243,15 @@
    • Write a basic class that holds the stacktrace:
    -

    - [getting_stated_class_traced] -

    +
    #include <boost/stacktrace.hpp>
    +
    +struct traced {
    +    const boost::stacktrace::stacktrace trace;
    +
    +    virtual const char* what() const noexcept = 0;
    +    virtual ~traced(){}
    +};
    +
    • Write a helper class for appending class traced to any exception: diff --git a/boost_stacktrace_header_reference.html b/boost_stacktrace_header_reference.html index 13ab018..b80f3ce 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 @@ class frame; // Comparison operators that provide platform dependant ordering and have O(1) complexity; are Async-Handler-Safe. - bool operator<(const frame & lhs, const frame & rhs); - bool operator>(const frame & lhs, const frame & rhs); - bool operator<=(const frame & lhs, const frame & rhs); - bool operator>=(const frame & lhs, const frame & rhs); + bool operator<(const frame & lhs, const frame & rhs); + bool operator>(const frame & lhs, const frame & rhs); + bool operator<=(const frame & lhs, const frame & rhs); + bool operator>=(const frame & lhs, const frame & rhs); bool operator==(const frame & lhs, const frame & rhs); - bool operator!=(const frame & lhs, const frame & rhs); + bool operator!=(const frame & lhs, const frame & rhs); // Hashing support, O(1) complexity; Async-Handler-Safe. - std::size_t hash_value(const frame & f); + std::size_t hash_value(const frame & 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, const frame & f); + operator<<(std::basic_ostream< CharT, TraitsT > & os, const frame & f); } }
    diff --git a/index.html b/index.html index 5dd9ca9..1dfe0eb 100644 --- a/index.html +++ b/index.html @@ -92,7 +92,7 @@
    - +

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

    Last revised: December 10, 2016 at 22:54:47 GMT