mirror of
https://github.com/fmtlib/fmt.git
synced 2025-07-30 18:57:34 +02:00
Move some code from core.h to format.h where it is used
This commit is contained in:
@ -96,12 +96,6 @@
|
|||||||
# define FMT_CONSTEXPR_DECL
|
# define FMT_CONSTEXPR_DECL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if __cplusplus >= 202002L
|
|
||||||
# define FMT_CONSTEXPR20 constexpr
|
|
||||||
#else
|
|
||||||
# define FMT_CONSTEXPR20 inline
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef FMT_OVERRIDE
|
#ifndef FMT_OVERRIDE
|
||||||
# if FMT_HAS_FEATURE(cxx_override_control) || \
|
# if FMT_HAS_FEATURE(cxx_override_control) || \
|
||||||
(FMT_GCC_VERSION >= 408 && FMT_HAS_GXX_CXX11) || FMT_MSC_VER >= 1900
|
(FMT_GCC_VERSION >= 408 && FMT_HAS_GXX_CXX11) || FMT_MSC_VER >= 1900
|
||||||
@ -289,14 +283,6 @@ struct monostate {};
|
|||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
constexpr bool is_constant_evaluated() FMT_DETECTED_NOEXCEPT {
|
|
||||||
#ifdef __cpp_lib_is_constant_evaluated
|
|
||||||
return std::is_constant_evaluated();
|
|
||||||
#else
|
|
||||||
return false;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// A helper function to suppress "conditional expression is constant" warnings.
|
// A helper function to suppress "conditional expression is constant" warnings.
|
||||||
template <typename T> constexpr T const_check(T value) { return value; }
|
template <typename T> constexpr T const_check(T value) { return value; }
|
||||||
|
|
||||||
|
@ -281,6 +281,20 @@ FMT_END_NAMESPACE
|
|||||||
FMT_BEGIN_NAMESPACE
|
FMT_BEGIN_NAMESPACE
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
|
#if __cplusplus >= 202002L
|
||||||
|
# define FMT_CONSTEXPR20 constexpr
|
||||||
|
#else
|
||||||
|
# define FMT_CONSTEXPR20 inline
|
||||||
|
#endif
|
||||||
|
|
||||||
|
constexpr bool is_constant_evaluated() FMT_DETECTED_NOEXCEPT {
|
||||||
|
#ifdef __cpp_lib_is_constant_evaluated
|
||||||
|
return std::is_constant_evaluated();
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
// An equivalent of `*reinterpret_cast<Dest*>(&source)` that doesn't have
|
// An equivalent of `*reinterpret_cast<Dest*>(&source)` that doesn't have
|
||||||
// undefined behavior (e.g. due to type aliasing).
|
// undefined behavior (e.g. due to type aliasing).
|
||||||
// Example: uint64_t d = bit_cast<uint64_t>(2.718);
|
// Example: uint64_t d = bit_cast<uint64_t>(2.718);
|
||||||
|
Reference in New Issue
Block a user