17 #ifndef OPENKALMAN_HAS_STATIC_STRIDES_HPP 18 #define OPENKALMAN_HAS_STATIC_STRIDES_HPP 24 template<
typename Strides, std::size_t...ix>
25 constexpr
bool has_static_strides_i(std::index_sequence<ix...>)
27 return (
values::fixed<std::tuple_element_t<ix, Strides>> and ...);
30 template<
typename Str
ides>
31 constexpr
bool has_static_strides_impl()
33 return has_static_strides_i<Strides>(std::make_index_sequence<std::tuple_size_v<Strides>>{});
45 constexpr
bool has_static_strides =
47 detail::has_static_strides_impl<decltype(internal::strides(std::declval<T>()))>();
52 #endif //OPENKALMAN_HAS_STATIC_STRIDES_HPP constexpr bool has_static_strides
Specifies that T has strides that are known at compile time.
Definition: has_static_strides.hpp:45
constexpr bool fixed
T is a values::value that is determinable at compile time.
Definition: fixed.hpp:60
Definition: basics.hpp:48