3#if (__cpp_lib_unreachable >= 202202L)
11#include <source_location>
16#if (__cpp_lib_unreachable >= 202202L)
18#elif defined(_MSC_VER)
21 __builtin_unreachable();
29 std::source_location::current());
35 std::string_view fmtstr,
36 std::format_args args);
38 template <
typename... Ts>
40 std::string_view _fmtstr, Ts &&...args) {
42 std::make_format_args(args...));
51 std::string_view fmt, Ts &&...args,
52 std::source_location location = std::source_location::current()) {
54 location.function_name(), fmt, std::forward<Ts>(args)...));
58 std::string_view fmt, Ts &&...args)
62template <
typename... Ts>
66template <
typename... Ts>
73 std::source_location location = std::source_location::current());
std::string error_message_format(std::string_view fname, std::string_view _fmtstr, Ts &&...args)
Definition errors.h:39
std::string _error_message_impl(std::string_view fname, std::string_view fmtstr, std::format_args args)
void unreachable()
Definition errors.h:15
void unreachable_with_message(std::string_view msg, std::source_location location=std::source_location::current())
terminate_with_message(std::string_view, Ts &&...) -> terminate_with_message< Ts... >
RAIIException(std::string_view msg, std::source_location location=std::source_location::current())
terminate_with_message(std::string_view fmt, Ts &&...args, std::source_location location=std::source_location::current())
Definition errors.h:50
terminate_with_message(std::source_location location, std::string_view fmt, Ts &&...args)
Definition errors.h:57