Update std::format check
This commit is contained in:
parent
08d831df5f
commit
a10e27a720
@ -8,8 +8,13 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#ifdef __cpp_lib_format
|
#if __cplusplus >= 202002L
|
||||||
#include <format>
|
#ifdef __has_include
|
||||||
|
#if __has_include(<format>)
|
||||||
|
#define CPPTRACE_STD_FORMAT
|
||||||
|
#include <format>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||||
@ -249,20 +254,20 @@ namespace cpptrace {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __cpp_lib_format
|
#if defined(CPPTRACE_STD_FORMAT) && defined(__cpp_lib_format)
|
||||||
template <>
|
template <>
|
||||||
struct std::formatter<cpptrace::stacktrace_frame> : std::formatter<std::string> {
|
struct std::formatter<cpptrace::stacktrace_frame> : std::formatter<std::string> {
|
||||||
auto format(cpptrace::stacktrace_frame frame, format_context& ctx) const {
|
auto format(cpptrace::stacktrace_frame frame, format_context& ctx) const {
|
||||||
return formatter<string>::format(frame.to_string(), ctx);
|
return formatter<string>::format(frame.to_string(), ctx);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct std::formatter<cpptrace::stacktrace> : std::formatter<std::string> {
|
struct std::formatter<cpptrace::stacktrace> : std::formatter<std::string> {
|
||||||
auto format(cpptrace::stacktrace trace, format_context& ctx) const {
|
auto format(cpptrace::stacktrace trace, format_context& ctx) const {
|
||||||
return formatter<string>::format(trace.to_string(), ctx);
|
return formatter<string>::format(trace.to_string(), ctx);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user