16 #ifndef OPENKALMAN_COORDINATES_MAKE_PATTERN_VECTOR_HPP 17 #define OPENKALMAN_COORDINATES_MAKE_PATTERN_VECTOR_HPP 20 #include "linear-algebra/coordinates/descriptors/Any.hpp" 31 template<
typename Scalar = double,
typename...Args, std::enable_if_t<
32 values::value<Scalar> and (... and descriptor<Args>),
int> = 0>
34 constexpr std::vector<Any<Scalar>>
37 return {
static_cast<Any<Scalar>>(std::forward<Args>(args))...};
44 #endif //OPENKALMAN_COORDINATES_MAKE_PATTERN_VECTOR_HPP constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31
Definition: compares_with.hpp:28
constexpr bool descriptor
T is an atomic (non-separable or non-composite) grouping of coordinates::pattern objects.
Definition: descriptor.hpp:30
constexpr std::vector< Any< Scalar > > make_pattern_vector(Args &&...args)
Make a coordinates::pattern comprising a std::vector of descriptors.
Definition: make_pattern_vector.hpp:35