16 #ifndef OPENKALMAN_COLLECTIONS_COMMON_TUPLE_TYPE_HPP 17 #define OPENKALMAN_COLLECTIONS_COMMON_TUPLE_TYPE_HPP 25 template<
typename Tup,
typename = std::make_index_sequence<std::tuple_size_v<Tup>>>
29 template<
typename Tup, std::size_t...ix>
31 #if __cplusplus >= 202002L 32 : std::common_reference<std::tuple_element_t<ix, std::decay_t<Tup>>...> {};
34 : std::common_type<std::tuple_element_t<ix, std::decay_t<Tup>>...> {};
43 template<tuple_like T>
46 template<typename T, typename =
void>
64 #endif //OPENKALMAN_COLLECTIONS_COMMON_TUPLE_TYPE_HPP Definition for collections::tuple_like.
Namespace for collections.
Definition: collections.hpp:27
typename common_tuple_type< T >::type common_tuple_type_t
Helper template for common_collection_type.
Definition: common_tuple_type.hpp:59
Definition: tuple_reverse.hpp:103
Definition: common_tuple_type.hpp:26
The common type within a tuple_like object, if it exists.
Definition: common_tuple_type.hpp:47