17 #ifndef OPENKALMAN_TO_EUCLIDEAN_PATTERN_COLLECTION_HPP 18 #define OPENKALMAN_TO_EUCLIDEAN_PATTERN_COLLECTION_HPP 28 #ifdef __cpp_lib_constexpr_vector 29 template<pattern_collection T>
32 template<
typename T, std::enable_if_t<pattern_collection<T>,
int> = 0>
37 if constexpr (euclidean_pattern_collection<T>)
39 return std::forward<T>(t);
44 [](
auto&&...ds){
return std::tuple {
get_dimension(std::forward<decltype(ds)>(ds))...}; },
49 return stdex::ranges::views::transform(
51 [](
auto&& d){
return get_dimension(std::forward<decltype(d)>(d)); });
Definition for pattern_collection.
Definition: get_descriptor_dimension.hpp:25
decltype(auto) to_euclidean_pattern_collection(T &&t)
Convert a pattern_collection to its equivalent-sized coordinates::euclidean_pattern_collection.
Definition: to_euclidean_pattern_collection.hpp:35
decltype(auto) constexpr apply(F &&f, T &&t)
A generalization of std::apply.
Definition: apply.hpp:49
constexpr auto get_dimension(const Arg &arg)
Get the vector dimension of coordinates::pattern Arg.
Definition: get_dimension.hpp:54
constexpr detail::all_closure all
a std::ranges::range_adaptor_closure which returns a view to all members of its collection argument...
Definition: all.hpp:72
Inclusion file for collections.
constexpr bool euclidean_pattern_collection
An object describing a collection of /ref euclidean_pattern objects.
Definition: euclidean_pattern_collection.hpp:65
constexpr bool fixed_value_compares_with
T has a fixed value that compares with N in a particular way based on parameter comp.
Definition: fixed_value_compares_with.hpp:74