17struct is_integer_t : std::bool_constant<std::integral<T> && !std::same_as<T, bool> && !std::same_as<T, char> &&
18 !std::same_as<T, signed char> && !std::same_as<T, unsigned char>>
30template <
typename T>
struct is_real_t : std::false_type
36template <>
struct is_real_t<double> : std::true_type
39template <>
struct is_real_t<long double> : std::true_type
48template <>
struct is_real_t<
uni20::float128> : std::true_type
64template <
typename T>
struct is_complex_t<detail::standard_complex<T>> : std::true_type
67template <>
struct is_complex_t<mpcomplex> : std::true_type
79template <
typename T>
inline constexpr bool is_scalar_v = is_real_v<T> || is_complex_v<T> || is_integer_v<T>;
98 requires is_scalar_v<T>
105 requires requires {
typename T::value_type; } && (!is_scalar_v<T>) &&
107struct scalar_type<T> : scalar_type<typename T::value_type>
152 requires is_real_scalar_valued_v<T>
159 requires is_complex_v<T>
162 using type =
typename T::value_type;
184 requires is_real_v<T>
194 requires is_complex_scalar_valued_v<T>
Owning exact rational or finite-precision MPFR real, with eager arithmetic.
Definition mpreal.hpp:74
locale_t value
Definition data_table.cpp:49
constexpr bool is_scalar_v
Trait to detect whether a type is a numeric scalar (real, complex, or integer).
Definition scalar_traits.hpp:79
constexpr bool is_real_or_complex_v
Trait to detect whether a type is a real or complex scalar.
Definition scalar_traits.hpp:84
constexpr bool is_complex_scalar_valued_v
Trait to detect whether T is scalar-valued with a complex scalar.
Definition scalar_traits.hpp:134
constexpr bool is_real_v
Convenience alias that exposes the value of is_real_t.
Definition scalar_traits.hpp:55
typename detail::complex_type< Real >::type complex
Project-level complex scalar spelling.
Definition types.hpp:66
constexpr bool is_integer_scalar_valued_v
Trait to detect whether T is scalar-valued with an integer scalar.
Definition scalar_traits.hpp:123
constexpr bool is_integer_v
Convenience alias that exposes the value of is_integer_t.
Definition scalar_traits.hpp:24
typename make_real< T >::type make_real_t
Alias for the underlying real-valued type of T.
Definition scalar_traits.hpp:168
constexpr bool is_complex_v
Convenience alias that exposes the value of is_complex_t.
Definition scalar_traits.hpp:74
typename make_complex< T >::type make_complex_t
Alias for the complexified version of T.
Definition scalar_traits.hpp:203
constexpr bool is_real_scalar_valued_v
Trait to detect whether T is scalar-valued with a real scalar.
Definition scalar_traits.hpp:128
constexpr bool is_real_or_complex_scalar_valued_v
Trait to detect whether T is scalar-valued with a real or complex scalar.
Definition scalar_traits.hpp:140
constexpr bool is_scalar_valued_v
Trait to detect whether T is scalar-valued.
Definition scalar_traits.hpp:117
Definition async/async.hpp:26
typename scalar_type< std::remove_cvref_t< T > >::type scalar_t
Definition scalar_traits.hpp:110
Trait to detect whether a type is a complex scalar type.
Definition scalar_traits.hpp:62
Trait to detect whether a type is an integer scalar (excluding bool).
Definition scalar_traits.hpp:19
Trait to detect whether a type is a real-valued scalar.
Definition scalar_traits.hpp:31
uni20::complex< T > type
Definition scalar_traits.hpp:187
Metafunction to convert a type to its complexified analog.
Definition scalar_traits.hpp:177
T type
Definition scalar_traits.hpp:155
Metafunction to convert a type to its real-valued analog.
Definition scalar_traits.hpp:149
T type
Definition scalar_traits.hpp:101
Trait to extract the scalar type from a type T.
Definition scalar_traits.hpp:93
void type
Definition scalar_traits.hpp:94