From c65ec7294d8a1bfa3f6494eb5bfcba092499d82b Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Sat, 26 Nov 2016 23:25:15 +0300 Subject: [PATCH] Docs regenerated --- boost/stacktrace/const_iterator.html | 52 +++++++ boost/stacktrace/frame.html | 189 +++++++++++++++++++++++++ boost/stacktrace/frame_view.html | 178 ----------------------- boost/stacktrace/stacktrace.html | 101 ++++++------- boost_stacktrace/getting_started.html | 14 +- boost_stacktrace_header_reference.html | 72 ++++++---- index.html | 8 +- standalone_HTML.manifest | 3 +- 8 files changed, 352 insertions(+), 265 deletions(-) create mode 100644 boost/stacktrace/const_iterator.html create mode 100644 boost/stacktrace/frame.html delete mode 100644 boost/stacktrace/frame_view.html diff --git a/boost/stacktrace/const_iterator.html b/boost/stacktrace/const_iterator.html new file mode 100644 index 0000000..856b8b8 --- /dev/null +++ b/boost/stacktrace/const_iterator.html @@ -0,0 +1,52 @@ + + + +Class const_iterator + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+
+
+

Class const_iterator

+

boost::stacktrace::const_iterator — Random access iterator over frames that returns frame on dereference.

+
+

Synopsis

+
// In header: <boost/stacktrace/const_iterator.hpp>
+
+
+class const_iterator : public boost::iterator_facade< const_iterator, frame, boost::random_access_traversal_tag, frame >
+{
+};
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/boost/stacktrace/frame.html b/boost/stacktrace/frame.html new file mode 100644 index 0000000..60d329c --- /dev/null +++ b/boost/stacktrace/frame.html @@ -0,0 +1,189 @@ + + + +Class frame + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHome +
+
+
+
+

Class frame

+

boost::stacktrace::frame — Non-owning class that references the frame information stored inside the boost::stacktrace::stacktrace class.

+
+

Synopsis

+
// In header: <boost/stacktrace/frame.hpp>
+
+
+class frame {
+public:
+  // construct/copy/destruct
+  frame() = delete;
+  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;
+};
+
+

Description

+
+

+frame + public + construct/copy/destruct

+
    +
  1. frame() = delete;
  2. +
  3. +
    frame(const frame &) = default;
    Copy constructs frame.

    +

    +
    ++ + + + +

    Throws:

    Nothing. Complexity: O(1).
    +
  4. +
  5. +
    explicit frame(const void * addr) noexcept;
    Constructs frame that can extract information from addr at runtime.

    +

    +
    ++ + + + +

    Throws:

    Nothing. Complexity: O(1).
    +
  6. +
  7. +
    frame & operator=(const frame &) = default;
    Copy assigns frame.

    +

    +
    ++ + + + +

    Throws:

    Nothing. Complexity: O(1).
    +
  8. +
+
+
+

+frame public member functions

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

    + +

    +
    ++ + + + + + + + + + +

    Returns:

    Name of the frame (function name in a human readable form).

    Throws:

    std::bad_alloc if not enough memory to construct resulting string.
    +
  2. +
  3. +
    const void * address() const noexcept;
    +

    + +

    +
    ++ + + + + + + + + + +

    Returns:

    Address of the frame function.

    Throws:

    Nothing.
    +
  4. +
  5. +
    std::string source_file() const;
    +

    + +

    +
    ++ + + + + + + + + + +

    Returns:

    Path to the source file, were the function of the frame is defined. Returns empty string if this->source_line() == 0.

    Throws:

    std::bad_alloc if not enough memory to construct resulting string.
    +
  6. +
  7. +
    std::size_t source_line() const;
    +

    + +

    +
    ++ + + + + + + + + + +

    Returns:

    Code line in the source file, were the function of the frame is defined.

    Throws:

    std::bad_alloc if not enough memory to construct string for internal needs.
    +
  8. +
+
+
+
+ + + +
+
+
+PrevUpHome +
+ + diff --git a/boost/stacktrace/frame_view.html b/boost/stacktrace/frame_view.html deleted file mode 100644 index d620fd5..0000000 --- a/boost/stacktrace/frame_view.html +++ /dev/null @@ -1,178 +0,0 @@ - - - -Class frame_view - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
-
-
-

Class frame_view

-

boost::stacktrace::frame_view — Non-owning class that references the frame information stored inside the boost::stacktrace::stacktrace class.

-
-

Synopsis

-
// In header: <boost/stacktrace.hpp>
-
-
-class frame_view {
-public:
-  // construct/copy/destruct
-  frame_view() = delete;
-  frame_view(const frame_view &) = default;
-  frame_view & operator=(const frame_view &) = default;
-
-  // public member functions
-  std::string name() const;
-  const void * address() const noexcept;
-  std::string source_file() const;
-  std::size_t source_line() const noexcept;
-};
-
-

Description

-
-

-frame_view - public - construct/copy/destruct

-
    -
  1. frame_view() = delete;
  2. -
  3. -
    frame_view(const frame_view &) = default;
    Copy constructs frame_view.

    -

    -
    -- - - - -

    Throws:

    Nothing. Complexity: O(1).
    -
  4. -
  5. -
    frame_view & operator=(const frame_view &) = default;
    Copy assigns frame_view.

    -

    -
    -- - - - -

    Throws:

    Nothing. Complexity: O(1).
    -
  6. -
-
-
-

-frame_view public member functions

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

    - -

    -
    -- - - - - - - - - - -

    Returns:

    Name of the frame (function name in a human readable form).

    Throws:

    std::bad_alloc if not enough memory to construct resulting string.
    -
  2. -
  3. -
    const void * address() const noexcept;
    -

    - -

    -
    -- - - - - - - - - - -

    Returns:

    Address of the frame function.

    Throws:

    Nothing.
    -
  4. -
  5. -
    std::string source_file() const;
    -

    - -

    -
    -- - - - - - - - - - -

    Returns:

    Path to the source file, were the function of the frame is defined. Returns empty string if this->source_line() == 0.

    Throws:

    std::bad_alloc if not enough memory to construct resulting string.
    -
  6. -
  7. -
    std::size_t source_line() const noexcept;
    -

    - -

    -
    -- - - - - - - - - - -

    Returns:

    Code line in the source file, were the function of the frame is defined.

    Throws:

    Nothing.
    -
  8. -
-
-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/boost/stacktrace/stacktrace.html b/boost/stacktrace/stacktrace.html index 03344db..bd7236a 100644 --- a/boost/stacktrace/stacktrace.html +++ b/boost/stacktrace/stacktrace.html @@ -5,8 +5,9 @@ - - + + + @@ -19,7 +20,7 @@

-PrevUpHome +PrevUpHomeNext
@@ -28,68 +29,68 @@

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

Synopsis

-
// In header: <boost/stacktrace.hpp>
+
// In header: <boost/stacktrace/stacktrace.hpp>
 
 
 class stacktrace {
 public:
   // types
-  typedef frame_view                              reference;             
-  typedef unspecified                             iterator;                // Random access iterator that returns frame_view. 
+  typedef frame                                   reference;             
+  typedef boost::stacktrace::const_iterator       iterator;                // Random access iterator that returns frame. 
   typedef iterator                                const_iterator;        
   typedef std::reverse_iterator< iterator >       reverse_iterator;      
-  typedef std::reverse_iterator< const_iterator > const_reverse_iterator;
+  typedef std::reverse_iterator< const_iterator > const_reverse_iterator;
 
   // construct/copy/destruct
-  stacktrace() noexcept;
-  stacktrace(const stacktrace &) noexcept;
-  stacktrace & operator=(const stacktrace &) noexcept;
-  ~stacktrace();
+  stacktrace() noexcept;
+  stacktrace(const stacktrace &) noexcept;
+  stacktrace & operator=(const stacktrace &) noexcept;
+  ~stacktrace();
 
-  // public member functions
-  std::size_t size() const noexcept;
-  frame_view 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 operator<(const stacktrace &) const noexcept;
-  bool operator==(const 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 operator<(const stacktrace &) const noexcept;
+  bool operator==(const stacktrace &) const noexcept;
+  std::size_t hash_code() const noexcept;
 };
-

Description

+

Description

-

+

stacktrace public construct/copy/destruct

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

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

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

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

  2. -
    stacktrace(const stacktrace & bt) noexcept;
    +
    stacktrace(const stacktrace & st) noexcept;
    Complexity: O(1)
  3. -
    stacktrace & operator=(const stacktrace & bt) noexcept;
    +
    stacktrace & operator=(const stacktrace & st) noexcept;
    Complexity: O(1)
  4. -
    ~stacktrace();
    +
    ~stacktrace();
    Complexity: O(N) for libunwind, O(1) for other backends.
-

-stacktrace public member functions

+

+stacktrace public member functions

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

    Complexity: O(1)

    @@ -101,7 +102,7 @@
  2. -
    frame_view 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.

    @@ -120,37 +121,37 @@

    Returns:

    -

    frame_view that references the actual frame info, stored inside *this.

    +

    frame that references the actual frame info, stored inside *this.

  • -
    const_iterator begin() const noexcept;
    +
    const_iterator begin() const noexcept;
    Complexity: O(1)
  • -
    const_iterator cbegin() const noexcept;
    +
    const_iterator cbegin() const noexcept;
    Complexity: O(1)
  • -
    const_iterator end() const noexcept;
    +
    const_iterator end() const noexcept;
    Complexity: O(1)
  • -
    const_iterator cend() const noexcept;
    +
    const_iterator cend() const noexcept;
    Complexity: O(1)
  • -
    const_reverse_iterator rbegin() const noexcept;
    +
    const_reverse_iterator rbegin() const noexcept;
    Complexity: O(1)
  • -
    const_reverse_iterator crbegin() const noexcept;
    +
    const_reverse_iterator crbegin() const noexcept;
    Complexity: O(1)
  • -
    const_reverse_iterator rend() const noexcept;
    +
    const_reverse_iterator rend() const noexcept;
    Complexity: O(1)
  • -
    const_reverse_iterator crend() const noexcept;
    +
    const_reverse_iterator crend() const noexcept;
    Complexity: O(1)
  • -
    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)

    @@ -161,13 +162,13 @@
  • -
    bool operator<(const stacktrace & rhs) const noexcept;
    Compares stacktraces for less, order is platform dependant.

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

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

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

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

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

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

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

  • -
    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)

  • @@ -183,7 +184,7 @@
    -PrevUpHome +PrevUpHomeNext
    diff --git a/boost_stacktrace/getting_started.html b/boost_stacktrace/getting_started.html index d26aa25..e3ecf25 100644 --- a/boost_stacktrace/getting_started.html +++ b/boost_stacktrace/getting_started.html @@ -110,7 +110,7 @@ void my_signal_handler(int signum) { boost::stacktrace::stacktrace bt; if (bt) { - std::cerr << "Signal " << signum << ", backtrace:\n" << boost::stacktrace::stacktrace() << '\n'; [1] + std::cerr << "Signal " << signum << ", backtrace:\n" << boost::stacktrace::stacktrace() << '\n'; // [1] } std::abort(); } @@ -290,8 +290,8 @@
    if (i >= 4)
         throw with_trace<std::out_of_range>("'i' must be less than 4 in oops()");
    -if (i == 0)
    -    throw with_trace<std::logic_error>("'i' must not be zero in oops()");
    +if (i <= 0)
    +    throw with_trace<std::logic_error>("'i' must not be greater than zero in oops()");
     

    boost::stacktrace::stacktrace - provides access to individual frames + provides access to individual frames of the stacktrace, so that you could save stacktrace information in your own format. Consider the example, that saves only function addresses of each frame: @@ -377,7 +377,7 @@ namespace bs = boost::stacktrace; void dump_compact(const bs::stacktrace& st) { - for (bs::frame_view frame: st) { + for (bs::frame frame: st) { std::cout << frame.address() << ','; } @@ -392,9 +392,7 @@



    -

    [1] Strictly -speaking this code is not async-signal-safe, but we have SIGSEGV already it could hardly become worse. -Section "Build, Macros and Backends" describes async-signal-safe backends, so if you will use the noop backend code becomes absolutely valid as that backens always returns 0 frames and operator<< will be never called.

    +

    [1] Strictly speaking this code is not async-signal-safe, but we have SIGSEGV already it could hardly become worse. Section "Build, Macros and Backends" describes async-signal-safe backends, so if you will use the noop backend code becomes absolutely valid as that backens always returns 0 frames and operator<< will be never called.

    diff --git a/boost_stacktrace_header_reference.html b/boost_stacktrace_header_reference.html index 2699d4b..167e662 100644 --- a/boost_stacktrace_header_reference.html +++ b/boost_stacktrace_header_reference.html @@ -7,7 +7,7 @@ - +
    @@ -20,51 +20,71 @@

    -PrevUpHomeNext +PrevUpHomeNext

    Boost.Stacktrace Header Reference

    - +
    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);
    +    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);
     
         // 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);
    +    std::size_t hash_value(const stacktrace & st);
     
         // 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, 
    +      operator<<(std::basic_ostream< CharT, TraitsT > & os, 
                      const stacktrace & bt);
    +  }
    +}
    + +
    + +
    namespace boost {
    +  namespace stacktrace {
    +    class const_iterator;
    +  }
    +}
    +
    +
    + +
    namespace boost {
    +  namespace stacktrace {
    +    class frame;
     
    -    // Outputs stacktrace::frame in a human readable format to output stream. 
    +    // Comparison operators that provide platform dependant ordering and have O(1) complexity. 
    +    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. 
    +    std::size_t hash_value(const frame & f);
    +
    +    // 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);
    +      operator<<(std::basic_ostream< CharT, TraitsT > & os, const frame & f);
       }
     }
    @@ -79,7 +99,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/index.html b/index.html index 205b3d7..0d2cfee 100644 --- a/index.html +++ b/index.html @@ -52,7 +52,11 @@
    Build, Macros and Backends
    Boost.Stacktrace Header Reference
    -
    Header <boost/stacktrace.hpp>
    +
    +
    Header <boost/stacktrace/stacktrace.hpp>
    +
    Header <boost/stacktrace/const_iterator.hpp>
    +
    Header <boost/stacktrace/frame.hpp>
    +
    @@ -82,7 +86,7 @@
    - +

    Last revised: October 26, 2016 at 19:27:32 GMT

    Last revised: November 26, 2016 at 20:24:41 GMT


    diff --git a/standalone_HTML.manifest b/standalone_HTML.manifest index f9afa99..6fd9b82 100644 --- a/standalone_HTML.manifest +++ b/standalone_HTML.manifest @@ -2,5 +2,6 @@ index.html boost_stacktrace/getting_started.html boost_stacktrace/build_macros_and_backends.html boost_stacktrace_header_reference.html -boost/stacktrace/frame_view.html boost/stacktrace/stacktrace.html +boost/stacktrace/const_iterator.html +boost/stacktrace/frame.html