16 #ifndef OPENKALMAN_ONE_DIMENSIONAL_HPP 17 #define OPENKALMAN_ONE_DIMENSIONAL_HPP 19 #include "patterns/patterns.hpp" 28 #ifndef __cpp_concepts 29 template<
typename T, auto N, applicability b,
typename =
void>
32 template<
typename T, auto N, applicability b>
34 patterns::collection_patterns_compare_with_dimension<typename pattern_collection_type_of<T>::type, 1, &stdex::is_eq, N, b>>>
39 template<
typename T, std::
size_t N,
typename = std::make_index_sequence<N>>
42 template<
typename T, std::size_t N, std::size_t...i>
44 : std::bool_constant<(... or dimension_size_of_index_is<T, i, 1>)> {};
47 template<
typename T, auto N>
73 template<
typename T, auto N = values::unbounded_size, applicability b = applicability::guaranteed>
79 (square_shaped<T, N> and detail::any_1d_index<T, N>()));
81 template<
typename T, std::
size_t N = values::unbounded_size, applicability b = applicability::guaranteed>
82 constexpr
inline bool one_dimensional =
85 detail::one_dimensional_impl<T, N, b>::
value or
typename pattern_collection_type_of< T >::type pattern_collection_type_of_t
helper template for pattern_collection_type_of.
Definition: pattern_collection_type_of.hpp:55
Definition for square_shaped.
Definition for pattern_collection_type_of.
constexpr bool square_shaped
At least 2 and at most N indices have the same extent.
Definition: square_shaped.hpp:91
constexpr bool value
T is a fixed or dynamic value that is reducible to a number.
Definition: value.hpp:45
Definition for dimension_size_of_index_is.
The root namespace for OpenKalman.
Definition: basics.hpp:34
constexpr bool collection_patterns_compare_with_dimension
Specifies that each element of a pattern_collection T has dimension dim for the first N indices...
Definition: collection_patterns_compare_with_dimension.hpp:99
Definition: one_dimensional.hpp:30
A type reflecting an unbound size.
Definition: size.hpp:27
constexpr bool integral
T is an integral value.
Definition: integral.hpp:47
constexpr bool one_dimensional
Specifies that a type is one-dimensional in each of the first N indices.
Definition: one_dimensional.hpp:82
constexpr unbounded_size_t unbounded_size
An instance of unbounded_size_t;.
Definition: size.hpp:60
constexpr bool fixed
T has a value that is determinable at compile time.
Definition: fixed.hpp:65
The minimum number of indices needed to access all the components of an object (i.e., the rank or order).
Definition: index_count.hpp:34
Definition: one_dimensional.hpp:40