You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>This proposal is a pure library extension and it do not break the existing code and do not degrade performance. It is does not require any changes in the core language and could be implemented in standard C++.</p>
75
+
<h2>III. Design Decisions</h2>
76
+
<p>The design is based on Boost.Stacktrace, an popular library that does not depend on any non-standard library components and provides the STD-like interface.</p>
77
+
<p>Note about signal safety: we can't offer the proposal which could be signal-safe on any platform because it's not possible to implement. <!-- add note about custom allocator? --></p>
78
+
<h2>IV. Proposed Interface</h2>
79
+
<h3>Header <stacktrace></h3>
80
+
<pre>
81
+
namespace boost {
82
+
namespace stacktrace {
83
+
template<typename Allocator> class basic_stacktrace;
84
+
85
+
typedef basic_stacktrace stacktrace; // This is the typedef to use unless you'd like to provide a specific allocator to boost::stacktrace::basic_stacktrace.
// Comparison operators that provide platform dependant ordering and have amortized O(1) complexity; O(size()) worst case complexity; are Async-Handler-Safe.
0 commit comments