mirror of
https://github.com/fmtlib/fmt.git
synced 2024-12-29 18:34:06 +00:00
Simplify uint32_or_64_or_128_t definition
This commit is contained in:
parent
33712dc07a
commit
c1654ce487
@ -809,19 +809,13 @@ FMT_CONSTEXPR bool is_supported_floating_point(T) {
|
|||||||
(std::is_same<T, long double>::value && FMT_USE_LONG_DOUBLE);
|
(std::is_same<T, long double>::value && FMT_USE_LONG_DOUBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if FMT_REDUCE_INT_INSTANTIATIONS
|
|
||||||
// Pick the largest integer container to represent all values of T.
|
|
||||||
template <typename T>
|
|
||||||
using uint32_or_64_or_128_t =
|
|
||||||
conditional_t<sizeof(uint128_t) < sizeof(uint64_t), uint64_t, uint128_t>;
|
|
||||||
#else
|
|
||||||
// Smallest of uint32_t, uint64_t, uint128_t that is large enough to
|
// Smallest of uint32_t, uint64_t, uint128_t that is large enough to
|
||||||
// represent all values of T.
|
// represent all values of an integral type T.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
using uint32_or_64_or_128_t =
|
using uint32_or_64_or_128_t =
|
||||||
conditional_t<num_bits<T>() <= 32, uint32_t,
|
conditional_t<num_bits<T>() <= 32 && !FMT_REDUCE_INT_INSTANTIATIONS,
|
||||||
|
uint32_t,
|
||||||
conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>>;
|
conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>>;
|
||||||
#endif
|
|
||||||
|
|
||||||
// 128-bit integer type used internally
|
// 128-bit integer type used internally
|
||||||
struct uint128_wrapper {
|
struct uint128_wrapper {
|
||||||
|
Loading…
Reference in New Issue
Block a user