16 #ifndef OPENKALMAN_COLLECTIONS_COMMON_COLLECTION_TYPE_HPP 17 #define OPENKALMAN_COLLECTIONS_COMMON_COLLECTION_TYPE_HPP 27 #ifdef __cpp_lib_ranges 28 template<collection T>
30 template<
typename T,
typename =
void>
35 #ifdef __cpp_lib_ranges 36 template<collection T> requires std::ranges::range<T>
39 using type = std::ranges::range_value_t<std::remove_cvref_t<T>>;
45 using type = ranges::range_value_t<remove_cvref_t<T>>;
59 #endif //OPENKALMAN_COLLECTIONS_COMMON_COLLECTION_TYPE_HPP Namespace for collections.
Definition: collections.hpp:27
Definition for collections::collection.
typename common_collection_type< T >::type common_collection_type_t
Helper template for common_collection_type.
Definition: common_collection_type.hpp:54
Definition: tuple_reverse.hpp:103
Definition for collections::common_tuple_type.
The common type within a collection, if it exists.
Definition: common_collection_type.hpp:32
The common type within a tuple_like object, if it exists.
Definition: common_tuple_type.hpp:47