16 #ifndef OPENKALMAN_PATTERNS_VIEWS_CONCAT_HPP 17 #define OPENKALMAN_PATTERNS_VIEWS_CONCAT_HPP 34 template<
typename...Xs>
35 constexpr
auto operator()(Xs...xs)
const {
return (0 + ... + xs); }
43 template<
typename...P, std::enable_if_t<(... and pattern<P>),
int> = 0>
46 operator() (P&&...p)
const 48 if constexpr ((... and euclidean_pattern<P>))
50 else if constexpr ((... and descriptor<P>))
54 if constexpr (descriptor<P>)
return std::array {std::forward<P>(p)};
55 else return std::forward<P>(p);
56 }(std::forward<P>(p))...);
Definition for patterns::euclidean_pattern.
Definition: concat.hpp:28
constexpr detail::concat_adaptor concat
a std::ranges::range_adaptor_closure for a set of concatenated collection objects.
Definition: concat.hpp:209
constexpr bool pattern
An object describing the characteristics (e.g., dimensions, wrapping structure) of an index...
Definition: pattern.hpp:31
The namespace for views for patterns::pattern object.
Definition: patterns.hpp:51
A structure representing the dimensions associated with of a particular index.
Definition: Dimensions.hpp:42
Definition for patterns::pattern.
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:70
Inclusion file for collections.
constexpr detail::concat_adaptor concat
a std::ranges::range_adaptor_closure for a set of concatenated pattern objects.
Definition: concat.hpp:66
Definition for patterns::get_dimension.
constexpr auto get_dimension(const Arg &arg)
Get the vector dimension of patterns::pattern Arg.
Definition: get_dimension.hpp:53
constexpr auto operation(Operation &&op, Args &&...args)
A potentially constant-evaluated operation involving some number of values.
Definition: operation.hpp:98