mirror of
https://github.com/fmtlib/fmt.git
synced 2024-11-09 12:50:05 +00:00
Simplify handling of _BitInt
This commit is contained in:
parent
2e3b6fbd9f
commit
3f5e45dd33
@ -567,9 +567,8 @@ template <typename Char> class basic_string_view {
|
|||||||
FMT_CONSTEXPR auto compare(basic_string_view other) const -> int {
|
FMT_CONSTEXPR auto compare(basic_string_view other) const -> int {
|
||||||
size_t str_size = size_ < other.size_ ? size_ : other.size_;
|
size_t str_size = size_ < other.size_ ? size_ : other.size_;
|
||||||
int result = detail::compare(data_, other.data_, str_size);
|
int result = detail::compare(data_, other.data_, str_size);
|
||||||
if (result == 0)
|
if (result != 0) return result;
|
||||||
result = size_ == other.size_ ? 0 : (size_ < other.size_ ? -1 : 1);
|
return size_ == other.size_ ? 0 : (size_ < other.size_ ? -1 : 1);
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FMT_CONSTEXPR friend auto operator==(basic_string_view lhs,
|
FMT_CONSTEXPR friend auto operator==(basic_string_view lhs,
|
||||||
@ -1146,22 +1145,12 @@ template <typename Char> struct arg_mapper {
|
|||||||
FMT_MAP_API auto map(double x) -> double { return x; }
|
FMT_MAP_API auto map(double x) -> double { return x; }
|
||||||
FMT_MAP_API auto map(long double x) -> long double { return x; }
|
FMT_MAP_API auto map(long double x) -> long double { return x; }
|
||||||
|
|
||||||
template <int N, FMT_ENABLE_IF(N <= 64)>
|
template <int N>
|
||||||
FMT_MAP_API auto map(bitint<N> x) -> long long {
|
FMT_MAP_API auto map(bitint<N>)
|
||||||
return x;
|
-> conditional_t<N <= 64, long long, unformattable>;
|
||||||
}
|
template <int N>
|
||||||
template <int N, FMT_ENABLE_IF(N <= 64)>
|
FMT_MAP_API auto map(ubitint<N>)
|
||||||
FMT_MAP_API auto map(ubitint<N> x) -> unsigned long long {
|
-> conditional_t<N <= 64, unsigned long long, unformattable>;
|
||||||
return x;
|
|
||||||
}
|
|
||||||
template <int N, FMT_ENABLE_IF(N > 64)>
|
|
||||||
FMT_MAP_API auto map(bitint<N>) -> unformattable {
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
template <int N, FMT_ENABLE_IF(N > 64)>
|
|
||||||
FMT_MAP_API auto map(ubitint<N>) -> unformattable {
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
FMT_MAP_API auto map(Char* x) -> const Char* { return x; }
|
FMT_MAP_API auto map(Char* x) -> const Char* { return x; }
|
||||||
FMT_MAP_API auto map(const Char* x) -> const Char* { return x; }
|
FMT_MAP_API auto map(const Char* x) -> const Char* { return x; }
|
||||||
@ -2169,9 +2158,13 @@ template <typename Context> class value {
|
|||||||
constexpr FMT_INLINE value(unsigned long long x FMT_BUILTIN)
|
constexpr FMT_INLINE value(unsigned long long x FMT_BUILTIN)
|
||||||
: ulong_long_value(x) {}
|
: ulong_long_value(x) {}
|
||||||
template <int N>
|
template <int N>
|
||||||
constexpr FMT_INLINE value(bitint<N> x FMT_BUILTIN) : long_long_value(x) {}
|
constexpr FMT_INLINE value(bitint<N> x FMT_BUILTIN) : long_long_value(x) {
|
||||||
|
static_assert(N <= 64, "unsupported _BitInt");
|
||||||
|
}
|
||||||
template <int N>
|
template <int N>
|
||||||
constexpr FMT_INLINE value(ubitint<N> x FMT_BUILTIN) : ulong_long_value(x) {}
|
constexpr FMT_INLINE value(ubitint<N> x FMT_BUILTIN) : ulong_long_value(x) {
|
||||||
|
static_assert(N <= 64, "unsupported _BitInt");
|
||||||
|
}
|
||||||
FMT_INLINE value(int128_opt x FMT_BUILTIN) : int128_value(x) {}
|
FMT_INLINE value(int128_opt x FMT_BUILTIN) : int128_value(x) {}
|
||||||
FMT_INLINE value(uint128_opt x FMT_BUILTIN) : uint128_value(x) {}
|
FMT_INLINE value(uint128_opt x FMT_BUILTIN) : uint128_value(x) {}
|
||||||
constexpr FMT_INLINE value(float x FMT_BUILTIN) : float_value(x) {}
|
constexpr FMT_INLINE value(float x FMT_BUILTIN) : float_value(x) {}
|
||||||
|
Loading…
Reference in New Issue
Block a user