16 #ifndef OPENKALMAN_VECTOR_SPACE_DESCRIPTOR_OF_HPP 17 #define OPENKALMAN_VECTOR_SPACE_DESCRIPTOR_OF_HPP 30 template<
typename T, std::
size_t N = 0>
32 template<
typename T, std::
size_t N = 0,
typename =
void>
41 template<indexible T, std::
size_t N> requires requires(T t) { {get_vector_space_descriptor<N>(t)} -> coordinates::pattern; }
44 template<typename T, std::size_t N>
45 struct
vector_space_descriptor_of<T, N, std::enable_if_t<coordinates::pattern<decltype(get_vector_space_descriptor<N>(std::declval<T>()))>>>
48 using type = std::decay_t<decltype(get_vector_space_descriptor<N>(std::declval<T>()))>;
55 template<
typename T, std::
size_t N>
61 #endif //OPENKALMAN_VECTOR_SPACE_DESCRIPTOR_OF_HPP The coordinates::pattern for index N of object T.
Definition: vector_space_descriptor_of.hpp:34
The root namespace for OpenKalman.
Definition: basics.hpp:34
typename vector_space_descriptor_of< T, N >::type vector_space_descriptor_of_t
helper template for vector_space_descriptor_of.
Definition: vector_space_descriptor_of.hpp:56