17 #ifndef OPENKALMAN_NOT_MORE_FIXED_THAN_HPP 18 #define OPENKALMAN_NOT_MORE_FIXED_THAN_HPP 23 #if not defined(__cpp_concepts) or __cpp_generic_lambdas < 201707L 26 template<
typename T,
typename Descriptors, std::size_t...Ix>
29 return (... and (dynamic_dimension<T, Ix> or
fixed_pattern<collections::collection_element_t<Ix, Descriptors>>));
38 template<
typename T,
typename Descriptors>
39 #if defined(__cpp_concepts) and __cpp_generic_lambdas >= 201707L 41 indexible<T> and pattern_collection<Descriptors> and
42 (not pattern_collection<Descriptors> or
44 {
return (... and (dynamic_dimension<T, Ix> or
fixed_pattern<collections::collection_element_t<Ix, Descriptors>>)); }
45 (std::make_index_sequence<collections::size_of_v<Descriptors>>{}));
47 constexpr
bool not_more_fixed_than =
48 indexible<T> and pattern_collection<Descriptors> and
49 (not pattern_collection<Descriptors> or
50 detail::not_more_fixed_than_impl<T, Descriptors>(std::make_index_sequence<collections::size_of_v<Descriptors>>{}));
constexpr bool fixed_pattern
A coordinates::pattern for which the dimension is fixed at compile time.
Definition: fixed_pattern.hpp:46
constexpr bool not_more_fixed_than
indexible T's vector space descriptors are not more fixed than the specified vectors_space_descriptor...
Definition: not_more_fixed_than.hpp:47
Definition: trait_backports.hpp:64
Definition: basics.hpp:48