mirror of
https://github.com/fmtlib/fmt.git
synced 2025-09-27 07:01:02 +02:00
Rename is_char to is_code_unit
This commit is contained in:
@@ -903,24 +903,20 @@ FMT_END_EXPORT
|
|||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
// DEPRECATED! Will be merged with is_char
|
// Specifies if `T` is a code unit type.
|
||||||
template <typename T> struct is_xchar : std::false_type {};
|
template <typename T> struct is_code_unit : std::false_type {};
|
||||||
template <> struct is_xchar<wchar_t> : std::true_type {};
|
template <> struct is_code_unit<char> : std::true_type {};
|
||||||
template <> struct is_xchar<char16_t> : std::true_type {};
|
template <> struct is_code_unit<wchar_t> : std::true_type {};
|
||||||
template <> struct is_xchar<char32_t> : std::true_type {};
|
template <> struct is_code_unit<char16_t> : std::true_type {};
|
||||||
|
template <> struct is_code_unit<char32_t> : std::true_type {};
|
||||||
#ifdef __cpp_char8_t
|
#ifdef __cpp_char8_t
|
||||||
template <>
|
template <> struct is_code_unit<char8_t> : bool_constant<is_utf8_enabled> {};
|
||||||
struct is_xchar<char8_t> : bool_constant<detail::is_utf8_enabled> {};
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Specifies if `T` is a character (code unit) type.
|
|
||||||
template <typename T> struct is_char : is_xchar<T> {};
|
|
||||||
template <> struct is_char<char> : std::true_type {};
|
|
||||||
|
|
||||||
// Constructs fmt::basic_string_view<Char> from types implicitly convertible
|
// Constructs fmt::basic_string_view<Char> from types implicitly convertible
|
||||||
// to it, deducing Char. Explicitly convertible types such as the ones returned
|
// to it, deducing Char. Explicitly convertible types such as the ones returned
|
||||||
// from FMT_STRING are intentionally excluded.
|
// from FMT_STRING are intentionally excluded.
|
||||||
template <typename Char, FMT_ENABLE_IF(is_char<Char>::value)>
|
template <typename Char, FMT_ENABLE_IF(is_code_unit<Char>::value)>
|
||||||
constexpr auto to_string_view(const Char* s) -> basic_string_view<Char> {
|
constexpr auto to_string_view(const Char* s) -> basic_string_view<Char> {
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
@@ -1165,7 +1161,7 @@ template <typename Char> struct type_mapper {
|
|||||||
static auto map(ubitint<N>)
|
static auto map(ubitint<N>)
|
||||||
-> conditional_t<N <= 64, unsigned long long, void>;
|
-> conditional_t<N <= 64, unsigned long long, void>;
|
||||||
|
|
||||||
template <typename T, FMT_ENABLE_IF(is_char<T>::value)>
|
template <typename T, FMT_ENABLE_IF(is_code_unit<T>::value)>
|
||||||
static auto map(T) -> conditional_t<
|
static auto map(T) -> conditional_t<
|
||||||
std::is_same<T, char>::value || std::is_same<T, Char>::value, Char, void>;
|
std::is_same<T, char>::value || std::is_same<T, Char>::value, Char, void>;
|
||||||
|
|
||||||
@@ -2185,7 +2181,7 @@ template <typename Context> class value {
|
|||||||
static_assert(N <= 64, "unsupported _BitInt");
|
static_assert(N <= 64, "unsupported _BitInt");
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, FMT_ENABLE_IF(is_char<T>::value)>
|
template <typename T, FMT_ENABLE_IF(is_code_unit<T>::value)>
|
||||||
constexpr FMT_INLINE value(T x FMT_BUILTIN) : char_value(x) {
|
constexpr FMT_INLINE value(T x FMT_BUILTIN) : char_value(x) {
|
||||||
static_assert(
|
static_assert(
|
||||||
std::is_same<T, char>::value || std::is_same<T, char_type>::value,
|
std::is_same<T, char>::value || std::is_same<T, char_type>::value,
|
||||||
|
Reference in New Issue
Block a user