16 #ifndef OPENKALMAN_COLLECTIONS_SIZE_OF_HPP 17 #define OPENKALMAN_COLLECTIONS_SIZE_OF_HPP 19 #include <type_traits> 34 template<
typename T,
typename =
void>
36 struct size_of : std::integral_constant<std::size_t, dynamic_size> {};
40 template<sized T> requires values::fixed<decltype(get_size(std::declval<T>()))>
46 : std::integral_constant<std::size_t, values::fixed_number_of_v<decltype(get_size(std::declval<T>()))>> {};
62 #endif //OPENKALMAN_COLLECTIONS_SIZE_OF_HPP Namespace for collections.
Definition: collections.hpp:27
Definition for values::fixed_number_of.
The size of a sized object (including a collection).
Definition: size_of.hpp:36
Definition for collections::sized.
Definition for collections::get_size.
constexpr bool fixed
T is a values::value that is determinable at compile time.
Definition: fixed.hpp:60
Global definitions for OpenKalman.
constexpr auto get_size(Arg &&arg)
Get the size of a sized object (e.g, a collection)
Definition: get_size.hpp:191
constexpr std::size_t size_of_v
Helper for collections::size_of.
Definition: size_of.hpp:57