14namespace stratax::core::concept_detail {
17template<
typename T,
typename... Candidates>
19 (std::same_as<std::remove_cvref_t<T>, Candidates> || ...);
78namespace stratax::container {
111struct is_array<stratax::container::Vector<T>> : std::true_type {};
116struct is_array<stratax::container::Matrix<T>> : std::true_type {};
121struct is_array<stratax::container::Tensor<T>> : std::true_type {};
136 const std::remove_cvref_t<T>& array,
139 typename std::remove_cvref_t<T>::value_type;
141 { array.size() } -> std::convertible_to<std::size_t>;
142 { array.empty() } -> std::convertible_to<bool>;
143 { array.rank() } -> std::convertible_to<std::size_t>;
146 { array[index] } -> std::convertible_to<
147 typename std::remove_cvref_t<T>::value_type>;
148 { array.begin() } -> std::input_iterator;
149 { array.end() } -> std::sentinel_for<
decltype(array.begin())>;
162 std::floating_point<std::remove_cvref_t<T>>;
Supported scalar dtype aliases.
std::int32_t int32
Signed 32-bit integer dtype.
std::uint8_t uint8
Unsigned 8-bit integer dtype.
std::uint16_t uint16
Unsigned 16-bit integer dtype.
std::complex< long double > clongdouble
Complex dtype with native long double components.
double float64
Native double dtype.
float float32
Native float dtype.
std::complex< double > complex128
Complex dtype with native double components.
std::int8_t int8
Signed 8-bit integer dtype.
std::int16_t int16
Signed 16-bit integer dtype.
long double longdouble
Native long double dtype; precision is platform-dependent.
std::uint64_t uint64
Unsigned 64-bit integer dtype.
std::int64_t int64
Signed 64-bit integer dtype.
std::complex< float > complex64
Complex dtype with native float components.
std::uint32_t uint32
Unsigned 32-bit integer dtype.
Identifies array-like types through their common logical interface.
Supported numeric or boolean element dtype.
Supported integer dtype, excluding bool.
Supported integer, floating-point, or complex dtype, excluding bool.
Supported non-complex dtype, including bool; floating-point NaNs need not compare ordered.
Supported integer or standard floating-point type, excluding bool and complex.
Matches the boolean dtype after removing cv/ref qualifiers.
Matches any candidate after removing cv/ref qualifiers.
Matches a supported std::complex dtype after removing cv/ref qualifiers.
Matches float, double, or long double after removing cv/ref qualifiers.
Matches a supported fixed-width integer dtype, excluding bool.
Trait identifying supported Stratax owning array specializations.