6#ifndef MIMICPP_EXT_STACKTRACE_BOOST_STACKTRACE_HPP
7#define MIMICPP_EXT_STACKTRACE_BOOST_STACKTRACE_HPP
12#ifndef MIMICPP_DETAIL_IS_MODULE
13 #if __has_include(<boost/stacktrace.hpp>)
14 #include <boost/stacktrace.hpp>
16 #error "The boost::stacktrace backend is explicitly enabled, but the the required include-file can not be found."
25 using type = boost::stacktrace::stacktrace;
31 using Backend = boost::stacktrace::stacktrace;
34 static Backend current(std::size_t
const skip, std::size_t
const max)
noexcept
36 MIMICPP_ASSERT(skip < std::numeric_limits<std::size_t>::max() - max,
"Skip + max is too high.");
44 MIMICPP_ASSERT(skip < std::numeric_limits<std::size_t>::max(),
"Skip is too high.");
46 return Backend{skip + 1, std::numeric_limits<std::size_t>::max()};
#define MIMICPP_ASSERT(condition, msg)
Definition Config.hpp:51
static Backend current(std::size_t const skip, std::size_t const max) noexcept
Definition boost-stacktrace.hpp:34
static bool empty(Backend const &stacktrace)
Definition boost-stacktrace.hpp:56
static std::size_t source_line(Backend const &stacktrace, std::size_t const at)
Definition boost-stacktrace.hpp:74
static std::size_t size(Backend const &stacktrace)
Definition boost-stacktrace.hpp:50
static std::string description(Backend const &stacktrace, std::size_t const at)
Definition boost-stacktrace.hpp:62
boost::stacktrace::stacktrace Backend
Definition boost-stacktrace.hpp:31
static Backend current(std::size_t const skip)
Definition boost-stacktrace.hpp:42
static std::string source_file(Backend const &stacktrace, std::size_t const at)
Definition boost-stacktrace.hpp:68
Trait type for stacktrace backends.
Definition Fwd.hpp:453
Definition Stacktrace.hpp:529
NullBackend type
Definition Stacktrace.hpp:530