autodoc.xml 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. <?xml version="1.0" standalone="yes"?>
  2. <library-reference id="stacktrace.reference"><title>Reference</title><header name="boost/stacktrace.hpp">
  3. </header>
  4. <header name="boost/stacktrace/stacktrace.hpp">
  5. <namespace name="boost">
  6. <namespace name="stacktrace">
  7. <class name="basic_stacktrace"><template>
  8. <template-type-parameter name="Allocator"><purpose><para>Allocator to use during stack capture. </para></purpose></template-type-parameter>
  9. </template><description><para>Class that on construction copies minimal information about call stack into its internals and provides access to that information.
  10. </para></description><typedef name="value_type"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::value_type</type></typedef>
  11. <typedef name="allocator_type"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::allocator_type</type></typedef>
  12. <typedef name="pointer"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::const_pointer</type></typedef>
  13. <typedef name="const_pointer"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::const_pointer</type></typedef>
  14. <typedef name="reference"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::const_reference</type></typedef>
  15. <typedef name="const_reference"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::const_reference</type></typedef>
  16. <typedef name="size_type"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::size_type</type></typedef>
  17. <typedef name="difference_type"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::difference_type</type></typedef>
  18. <typedef name="iterator"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::const_iterator</type></typedef>
  19. <typedef name="const_iterator"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::const_iterator</type></typedef>
  20. <typedef name="reverse_iterator"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::const_reverse_iterator</type></typedef>
  21. <typedef name="const_reverse_iterator"><type>std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt;::const_reverse_iterator</type></typedef>
  22. <method-group name="public member functions">
  23. <method name="size" cv="const noexcept"><type>size_type</type><description><para>
  24. <emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description><returns><para>Number of function names stored inside the class.</para>
  25. </returns></method>
  26. <method name="operator[]" cv="const noexcept"><type>const_reference</type><parameter name="frame_no"><paramtype>std::size_t</paramtype><description><para>Zero based index of frame to return. 0 is the function index where stacktrace was constructed and index close to this-&gt;size() contains function <computeroutput>main()</computeroutput>. </para></description></parameter><description><para>
  27. <emphasis role="bold">Complexity:</emphasis> O(1).</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description><returns><para>frame that references the actual frame info, stored inside *this.</para>
  28. </returns></method>
  29. <method name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description></method>
  30. <method name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description></method>
  31. <method name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description></method>
  32. <method name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description></method>
  33. <method name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description></method>
  34. <method name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description></method>
  35. <method name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description></method>
  36. <method name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description></method>
  37. <method name="conversion-operator" cv="const noexcept" specifiers="explicit"><type>bool</type><purpose>Allows to check that stack trace capturing was successful. </purpose><description><para>
  38. <emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description><returns><para><computeroutput>true</computeroutput> if <computeroutput>this-&gt;size() != 0</computeroutput></para>
  39. </returns></method>
  40. <method name="empty" cv="const noexcept"><type>bool</type><purpose>Allows to check that stack trace failed. </purpose><description><para>
  41. <emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description><returns><para><computeroutput>true</computeroutput> if <computeroutput>this-&gt;size() == 0</computeroutput></para>
  42. </returns></method>
  43. <method name="as_vector" cv="const noexcept"><type>const std::vector&lt; <classname>boost::stacktrace::frame</classname>, Allocator &gt; &amp;</type></method>
  44. </method-group>
  45. <constructor cv="noexcept"><purpose>Stores the current function call sequence inside *this without any decoding or any other heavy platform specific operations. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe if Allocator construction, copying, Allocator::allocate and Allocator::deallocate are async signal safe. </para></description></constructor>
  46. <constructor specifiers="explicit" cv="noexcept"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><description><para>Allocator that would be passed to underlying storeage. </para></description></parameter><purpose>Stores the current function call sequence inside *this without any decoding or any other heavy platform specific operations. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe if Allocator construction, copying, Allocator::allocate and Allocator::deallocate are async signal safe.</para><para>
  47. </para></description></constructor>
  48. <constructor cv="noexcept"><parameter name="skip"><paramtype>std::size_t</paramtype><description><para>How many top calls to skip and do not store in *this.</para></description></parameter><parameter name="max_depth"><paramtype>std::size_t</paramtype><description><para>Max call sequence depth to collect.</para></description></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default><description><para>Allocator that would be passed to underlying storeage.</para></description></parameter><purpose>Stores [skip, skip + max_depth) of the current function call sequence inside *this without any decoding or any other heavy platform specific operations. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe if Allocator construction, copying, Allocator::allocate and Allocator::deallocate are async signal safe.</para><para>
  49. </para></description><throws><simpara><classname>Nothing.</classname> Note that default construction of allocator may throw, however it is performed outside the constructor and exception in <computeroutput>allocator_type()</computeroutput> would not result in calling <computeroutput>std::terminate</computeroutput>. </simpara></throws></constructor>
  50. <constructor><parameter name="st"><paramtype>const <classname>basic_stacktrace</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Complexity:</emphasis> O(st.size())</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe if Allocator construction, copying, Allocator::allocate and Allocator::deallocate are async signal safe. </para></description></constructor>
  51. <copy-assignment><type><classname>basic_stacktrace</classname> &amp;</type><parameter name="st"><paramtype>const <classname>basic_stacktrace</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Complexity:</emphasis> O(st.size())</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe if Allocator construction, copying, Allocator::allocate and Allocator::deallocate are async signal safe. </para></description></copy-assignment>
  52. <destructor><description><para><emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe if Allocator::deallocate is async signal safe. </para></description></destructor>
  53. <constructor cv="noexcept"><parameter name="st"><paramtype><classname>basic_stacktrace</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe if Allocator construction and copying are async signal safe. </para></description></constructor>
  54. <copy-assignment><type><classname>basic_stacktrace</classname> &amp;</type><parameter name="st"><paramtype><classname>basic_stacktrace</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Complexity:</emphasis> O(st.size())</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe if Allocator construction and copying are async signal safe. </para></description></copy-assignment>
  55. <method-group name="public static functions">
  56. <method name="from_dump" specifiers="static"><type><classname>basic_stacktrace</classname></type><template>
  57. <template-type-parameter name="Char"/>
  58. <template-type-parameter name="Trait"/>
  59. </template><parameter name="in"><paramtype>std::basic_istream&lt; Char, Trait &gt; &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para>Constructs stacktrace from basic_istreamable that references the dumped stacktrace. Terminating zero frame is discarded.</para><para><emphasis role="bold">Complexity:</emphasis> O(N) </para></description></method>
  60. <method name="from_dump" specifiers="static"><type><classname>basic_stacktrace</classname></type><parameter name="begin"><paramtype>const void *</paramtype><description><para>Begining of the memory where the stacktrace was saved using the boost::stacktrace::safe_dump_to</para></description></parameter><parameter name="buffer_size_in_bytes"><paramtype>std::size_t</paramtype><description><para>Size of the memory. Usually the same value that was passed to the boost::stacktrace::safe_dump_to</para></description></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para>Constructs stacktrace from raw memory dump. Terminating zero frame is discarded.</para><para>
  61. <emphasis role="bold">Complexity:</emphasis> O(size) in worst case </para></description></method>
  62. </method-group>
  63. </class><typedef name="stacktrace"><purpose>This is the typedef to use unless you'd like to provide a specific allocator to <classname alt="boost::stacktrace::basic_stacktrace">boost::stacktrace::basic_stacktrace</classname>. </purpose><type><classname>basic_stacktrace</classname></type></typedef>
  64. <function name="operator&lt;"><type>bool</type><template>
  65. <template-type-parameter name="Allocator1"/>
  66. <template-type-parameter name="Allocator2"/>
  67. </template><parameter name="lhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator1 &gt; &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator2 &gt; &amp;</paramtype></parameter><purpose>Compares stacktraces for less, order is platform dependent. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> Amortized O(1); worst case O(size())</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description></function>
  68. <function name="operator=="><type>bool</type><template>
  69. <template-type-parameter name="Allocator1"/>
  70. <template-type-parameter name="Allocator2"/>
  71. </template><parameter name="lhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator1 &gt; &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator2 &gt; &amp;</paramtype></parameter><purpose>Compares stacktraces for equality. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> Amortized O(1); worst case O(size())</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description></function>
  72. <function name="operator&gt;"><type>bool</type><template>
  73. <template-type-parameter name="Allocator1"/>
  74. <template-type-parameter name="Allocator2"/>
  75. </template><parameter name="lhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator1 &gt; &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator2 &gt; &amp;</paramtype></parameter><purpose>Comparison operators that provide platform dependant ordering and have amortized O(1) complexity; O(size()) worst case complexity; are Async-Handler-Safe. </purpose></function>
  76. <function name="operator&lt;="><type>bool</type><template>
  77. <template-type-parameter name="Allocator1"/>
  78. <template-type-parameter name="Allocator2"/>
  79. </template><parameter name="lhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator1 &gt; &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator2 &gt; &amp;</paramtype></parameter></function>
  80. <function name="operator&gt;="><type>bool</type><template>
  81. <template-type-parameter name="Allocator1"/>
  82. <template-type-parameter name="Allocator2"/>
  83. </template><parameter name="lhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator1 &gt; &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator2 &gt; &amp;</paramtype></parameter></function>
  84. <function name="operator!="><type>bool</type><template>
  85. <template-type-parameter name="Allocator1"/>
  86. <template-type-parameter name="Allocator2"/>
  87. </template><parameter name="lhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator1 &gt; &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator2 &gt; &amp;</paramtype></parameter></function>
  88. <function name="hash_value"><type>std::size_t</type><template>
  89. <template-type-parameter name="Allocator"/>
  90. </template><parameter name="st"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator &gt; &amp;</paramtype></parameter><purpose>Fast hashing support, O(st.size()) complexity; Async-Handler-Safe. </purpose></function>
  91. <function name="to_string"><type>std::string</type><template>
  92. <template-type-parameter name="Allocator"/>
  93. </template><parameter name="bt"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator &gt; &amp;</paramtype></parameter><purpose>Returns std::string with the stacktrace in a human readable format; unsafe to use in async handlers. </purpose></function>
  94. <function name="operator&lt;&lt;"><type>std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</type><template>
  95. <template-type-parameter name="CharT"/>
  96. <template-type-parameter name="TraitsT"/>
  97. <template-type-parameter name="Allocator"/>
  98. </template><parameter name="os"><paramtype>std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</paramtype></parameter><parameter name="bt"><paramtype>const <classname>basic_stacktrace</classname>&lt; Allocator &gt; &amp;</paramtype></parameter><purpose>Outputs stacktrace in a human readable format to the output stream <computeroutput>os</computeroutput>; unsafe to use in async handlers. </purpose></function>
  99. </namespace>
  100. </namespace>
  101. </header>
  102. <header name="boost/stacktrace/detail/frame_decl.hpp">
  103. <para>Use &lt;boost/stacktrace/frame.hpp&gt; header instead of this one! </para><namespace name="boost">
  104. <namespace name="stacktrace">
  105. <class name="frame"><purpose>Class that stores frame/function address and can get information about it at runtime. </purpose><typedef name="native_frame_ptr_t"><type><emphasis>unspecified</emphasis></type></typedef>
  106. <method-group name="public member functions">
  107. <method name="name" cv="const"><type>std::string</type><description><para>
  108. <emphasis role="bold">Complexity:</emphasis> unknown (lots of platform specific work).</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Unsafe.
  109. </para></description><returns><para>Name of the frame (function name in a human readable form).</para>
  110. </returns><throws><simpara><classname>std::bad_alloc</classname> if not enough memory to construct resulting string. </simpara></throws></method>
  111. <method name="address" cv="const noexcept"><type>constexpr native_frame_ptr_t</type><description><para>
  112. <emphasis role="bold">Complexity:</emphasis> O(1).</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.
  113. </para></description><returns><para>Address of the frame function.</para>
  114. </returns><throws><simpara><classname>Nothing.</classname> </simpara></throws></method>
  115. <method name="source_file" cv="const"><type>std::string</type><description><para>
  116. <emphasis role="bold">Complexity:</emphasis> unknown (lots of platform specific work).</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Unsafe. </para></description><returns><para>Path to the source file, were the function of the frame is defined. Returns empty string if this-&gt;source_line() == 0. </para>
  117. </returns><throws><simpara><classname>std::bad_alloc</classname> if not enough memory to construct resulting string.</simpara></throws></method>
  118. <method name="source_line" cv="const"><type>std::size_t</type><description><para>
  119. <emphasis role="bold">Complexity:</emphasis> unknown (lots of platform specific work).</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Unsafe. </para></description><returns><para>Code line in the source file, were the function of the frame is defined. </para>
  120. </returns><throws><simpara><classname>std::bad_alloc</classname> if not enough memory to construct string for internal needs.</simpara></throws></method>
  121. <method name="empty" cv="const noexcept"><type>constexpr bool</type><purpose>Checks that frame is not references NULL address. </purpose><description><para>
  122. <emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. Checks that frame references NULL address.
  123. <emphasis role="bold">Complexity:</emphasis> O(1)</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe. </para></description><returns><para><computeroutput>true</computeroutput> if <computeroutput>this-&gt;address() != 0</computeroutput></para>
  124. </returns><returns><para><computeroutput>true</computeroutput> if <computeroutput>this-&gt;address() == 0</computeroutput></para>
  125. </returns></method>
  126. </method-group>
  127. <constructor cv="noexcept"><purpose>Constructs frame that references NULL address. Calls to source_file() and source_line() will return empty string. Calls to source_line() will return 0. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(1).</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.
  128. </para></description><throws><simpara><classname>Nothing.</classname> </simpara></throws></constructor>
  129. <constructor cv="= default"><parameter name=""><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><purpose>Copy constructs frame. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(1).</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.
  130. </para></description><throws><simpara><classname>Nothing.</classname> </simpara></throws></constructor>
  131. <copy-assignment cv="= default"><type>constexpr <classname>frame</classname> &amp;</type><parameter name=""><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><purpose>Copy assigns frame. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(1).</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.
  132. </para></description><throws><simpara><classname>Nothing.</classname> </simpara></throws></copy-assignment>
  133. <constructor specifiers="explicit" cv="noexcept"><parameter name="addr"><paramtype>native_frame_ptr_t</paramtype></parameter><purpose>Constructs frame that references addr and could later generate information about that address using platform specific features. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(1).</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.
  134. </para></description><throws><simpara><classname>Nothing.</classname> </simpara></throws></constructor>
  135. <constructor specifiers="explicit" cv="noexcept"><template>
  136. <template-type-parameter name="T"/>
  137. </template><parameter name="function_addr"><paramtype>T *</paramtype></parameter><purpose>Constructs frame that references function_addr and could later generate information about that function using platform specific features. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(1).</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.
  138. </para></description><throws><simpara><classname>Nothing.</classname> </simpara></throws></constructor>
  139. </class>
  140. </namespace>
  141. </namespace>
  142. </header>
  143. <header name="boost/stacktrace/frame.hpp">
  144. <namespace name="boost">
  145. <namespace name="stacktrace">
  146. <function name="operator&lt;"><type>constexpr bool</type><parameter name="lhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><purpose>Comparison operators that provide platform dependant ordering and have O(1) complexity; are Async-Handler-Safe. </purpose></function>
  147. <function name="operator&gt;"><type>constexpr bool</type><parameter name="lhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter></function>
  148. <function name="operator&lt;="><type>constexpr bool</type><parameter name="lhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter></function>
  149. <function name="operator&gt;="><type>constexpr bool</type><parameter name="lhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter></function>
  150. <function name="operator=="><type>constexpr bool</type><parameter name="lhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter></function>
  151. <function name="operator!="><type>constexpr bool</type><parameter name="lhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter></function>
  152. <function name="hash_value"><type>std::size_t</type><parameter name="f"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><purpose>Fast hashing support, O(1) complexity; Async-Handler-Safe. </purpose></function>
  153. <function name="to_string"><type>std::string</type><parameter name="f"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><purpose>Outputs <classname alt="boost::stacktrace::frame">stacktrace::frame</classname> in a human readable format to string; unsafe to use in async handlers. </purpose></function>
  154. <function name="operator&lt;&lt;"><type>std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</type><template>
  155. <template-type-parameter name="CharT"/>
  156. <template-type-parameter name="TraitsT"/>
  157. </template><parameter name="os"><paramtype>std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</paramtype></parameter><parameter name="f"><paramtype>const <classname>frame</classname> &amp;</paramtype></parameter><purpose>Outputs <classname alt="boost::stacktrace::frame">stacktrace::frame</classname> in a human readable format to output stream; unsafe to use in async handlers. </purpose></function>
  158. </namespace>
  159. </namespace>
  160. </header>
  161. <header name="boost/stacktrace/safe_dump_to.hpp">
  162. <para>This header contains low-level async-signal-safe functions for dumping call stacks. Dumps are binary serialized arrays of <computeroutput>void*</computeroutput>, so you could read them by using 'od -tx8 -An stacktrace_dump_failename' Linux command or using boost::stacktrace::stacktrace::from_dump functions. </para><namespace name="boost">
  163. <namespace name="stacktrace">
  164. <function name="safe_dump_to"><type>std::size_t</type><parameter name="memory"><paramtype>void *</paramtype><description><para>Preallocated buffer to store current function call sequence into.</para></description></parameter><parameter name="size"><paramtype>std::size_t</paramtype><description><para>Size of the preallocated buffer. </para></description></parameter><purpose>Stores current function call sequence into the memory. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.</para><para>
  165. </para></description><returns><para>Stored call sequence depth including terminating zero frame. To get the actually consumed bytes multiply this value by the sizeof(boost::stacktrace::frame::native_frame_ptr_t)</para>
  166. </returns></function>
  167. <function name="safe_dump_to"><type>std::size_t</type><parameter name="skip"><paramtype>std::size_t</paramtype><description><para>How many top calls to skip and do not store.</para></description></parameter><parameter name="memory"><paramtype>void *</paramtype><description><para>Preallocated buffer to store current function call sequence into.</para></description></parameter><parameter name="size"><paramtype>std::size_t</paramtype><description><para>Size of the preallocated buffer. </para></description></parameter><purpose>Stores current function call sequence into the memory. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.</para><para>
  168. </para></description><returns><para>Stored call sequence depth including terminating zero frame. To get the actually consumed bytes multiply this value by the sizeof(boost::stacktrace::frame::native_frame_ptr_t)</para>
  169. </returns></function>
  170. <function name="safe_dump_to"><type>std::size_t</type><parameter name="file"><paramtype>const char *</paramtype><description><para>File to store current function call sequence. </para></description></parameter><purpose>Opens a file and rewrites its content with current function call sequence if such operations are async signal safe. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.</para><para>
  171. </para></description><returns><para>Stored call sequence depth including terminating zero frame.</para>
  172. </returns></function>
  173. <function name="safe_dump_to"><type>std::size_t</type><parameter name="skip"><paramtype>std::size_t</paramtype><description><para>How many top calls to skip and do not store.</para></description></parameter><parameter name="max_depth"><paramtype>std::size_t</paramtype><description><para>Max call sequence depth to collect.</para></description></parameter><parameter name="file"><paramtype>const char *</paramtype><description><para>File to store current function call sequence. </para></description></parameter><purpose>Opens a file and rewrites its content with current function call sequence if such operations are async signal safe. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.</para><para>
  174. </para></description><returns><para>Stored call sequence depth including terminating zero frame.</para>
  175. </returns></function>
  176. <function name="safe_dump_to"><type>std::size_t</type><parameter name="fd"><paramtype>platform_specific_descriptor</paramtype></parameter><purpose>Writes into the provided file descriptor the current function call sequence if such operation is async signal safe. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.</para><para>
  177. </para></description><returns><para>Stored call sequence depth including terminating zero frame.</para>
  178. </returns></function>
  179. <function name="safe_dump_to"><type>std::size_t</type><parameter name="skip"><paramtype>std::size_t</paramtype><description><para>How many top calls to skip and do not store.</para></description></parameter><parameter name="max_depth"><paramtype>std::size_t</paramtype><description><para>Max call sequence depth to collect.</para></description></parameter><parameter name="fd"><paramtype>platform_specific_descriptor</paramtype></parameter><purpose>Writes into the provided file descriptor the current function call sequence if such operation is async signal safe. </purpose><description><para><emphasis role="bold">Complexity:</emphasis> O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.</para><para><emphasis role="bold">Async-Handler-Safety</emphasis>: Safe.</para><para>
  180. </para></description><returns><para>Stored call sequence depth including terminating zero frame.</para>
  181. </returns></function>
  182. </namespace>
  183. </namespace>
  184. </header>
  185. <header name="boost/stacktrace/stacktrace_fwd.hpp">
  186. <para>This header contains only forward declarations of <classname alt="boost::stacktrace::frame">boost::stacktrace::frame</classname>, <classname alt="boost::stacktrace::basic_stacktrace">boost::stacktrace::basic_stacktrace</classname>, boost::stacktrace::stacktrace and does not include any other Boost headers. </para></header>
  187. </library-reference>