22 #include <boost/container/static_vector.hpp>
23 #include <boost/stacktrace/stacktrace_fwd.hpp>
44 :
m_data{std::make_unique<std::byte[]>(bufferSize)},
56 std::pair<void *, std::size_t>
next() {
82 std::shared_ptr<const boost::stacktrace::stacktrace>
st;
85 std::shared_ptr<const boost::stacktrace::stacktrace> stIn);
90 void merge(
const Result &with);
95 const std::vector<FpeInfo> &stackTraces()
const;
96 unsigned int numStackTraces()
const;
100 bool contains(
FpeType type,
const boost::stacktrace::stacktrace &st)
const;
104 std::size_t
depth = std::numeric_limits<std::size_t>::max())
const;
108 operator bool()
const {
return !m_stracktraces.empty(); }
114 std::array<unsigned int, 32> m_counts{};
142 std::atomic_bool isSignalHandlerInstalled{
false};
146 static std::stack<FpeMonitor *> &
stack();
155 boost::container::static_vector<std::tuple<FpeType, void *, std::size_t>, 128>