6#ifndef MIMICPP_EXT_STACKTRACE_STD_STACKTRACE_HPP
7#define MIMICPP_EXT_STACKTRACE_STD_STACKTRACE_HPP
12#ifndef MIMICPP_DETAIL_IS_MODULE
20 using type = std::stacktrace;
23template <
typename Allocator>
26 using Backend = std::basic_stacktrace<Allocator>;
29 static Backend current(std::size_t
const skip, std::size_t
const max)
noexcept
31 MIMICPP_ASSERT(skip < std::numeric_limits<std::size_t>::max() - max,
"Skip + max is too high.");
33 return Backend::current(skip + 1, max);
39 MIMICPP_ASSERT(skip < std::numeric_limits<std::size_t>::max(),
"Skip is too high.");
41 return Backend::current(skip + 1);
#define MIMICPP_ASSERT(condition, msg)
Definition Config.hpp:51
Checks whether the given type satisfies the requirements of a stacktrace backend.
Definition Stacktrace.hpp:109
std::basic_stacktrace< Allocator > Backend
Definition std-stacktrace.hpp:26
static std::size_t source_line(Backend const &backend, std::size_t const at)
Definition std-stacktrace.hpp:69
static Backend current(std::size_t const skip) noexcept
Definition std-stacktrace.hpp:37
static Backend current(std::size_t const skip, std::size_t const max) noexcept
Definition std-stacktrace.hpp:29
static std::stacktrace_entry const & entry(Backend const &backend, std::size_t const at)
Definition std-stacktrace.hpp:75
static bool empty(Backend const &backend) noexcept
Definition std-stacktrace.hpp:51
static std::string description(Backend const &backend, std::size_t const at)
Definition std-stacktrace.hpp:57
static std::string source_file(Backend const &backend, std::size_t const at)
Definition std-stacktrace.hpp:63
static std::size_t size(Backend const &backend) noexcept
Definition std-stacktrace.hpp:45
Trait type for stacktrace backends.
Definition Fwd.hpp:453
Definition Stacktrace.hpp:529
NullBackend type
Definition Stacktrace.hpp:530