16 #ifndef OPENKALMAN_INDEX_COUNT_HPP 17 #define OPENKALMAN_INDEX_COUNT_HPP 31 template<
typename T,
typename =
void>
36 #ifndef __cpp_concepts 39 template<
typename T,
typename =
void>
44 : std::bool_constant<values::fixed<decltype(count_indices(std::declval<T>()))>> {};
57 struct
index_count<T,
std::enable_if_t<detail::static_count_indices_defined<T>::value>>
59 : std::integral_constant<std::size_t, std::decay_t<decltype(count_indices(std::declval<T>()))>::value> {};
62 #ifndef __cpp_concepts 65 template<
typename T,
typename =
void>
70 : std::bool_constant<values::index<decltype(count_indices(std::declval<T>()))> and
71 values::dynamic<decltype(count_indices(std::declval<T>()))>> {};
84 struct
index_count<T, std::enable_if_t<detail::dynamic_count_indices_defined<T>::value>>
86 : std::integral_constant<std::size_t, dynamic_size> {};
98 #endif //OPENKALMAN_INDEX_COUNT_HPP constexpr auto count_indices(const T &t)
Get the number of indices available to address the components of an indexible object.
Definition: count_indices.hpp:33
Definition: tuple_reverse.hpp:103
Definition: index_count.hpp:66
The root namespace for OpenKalman.
Definition: basics.hpp:34
constexpr bool dynamic
T is a values::value that is not determinable at compile time.
Definition: dynamic.hpp:48
constexpr bool fixed
T is a values::value that is determinable at compile time.
Definition: fixed.hpp:60
Definition: index_count.hpp:40
The minimum number of indices need to access all the components of an object.
Definition: index_count.hpp:33