16 #ifndef OPENKALMAN_MAKE_CONSTANT_HPP 17 #define OPENKALMAN_MAKE_CONSTANT_HPP 32 template<values::value C, patterns::pattern_collection P> requires values::fixed<collections::size_of<P>>
35 template<
typename C,
typename P, std::enable_if_t<
37 patterns::pattern_collection<P> and
38 values::fixed<collections::size_of<P>>,
int> = 0>
59 template<
typename C,
typename...Ps, std::enable_if_t<values::value<C> and (... and patterns::pattern<Ps>),
int> = 0>
64 return make_constant(std::move(c), std::tuple{std::forward<Ps>(ps)...});
73 template<patterns::pattern_collection P, values::value C> requires
74 std::default_initializable<P> and
75 values::fixed<collections::size_of<P>>
78 template<
typename P,
typename C, std::enable_if_t<
79 patterns::pattern_collection<P> and
81 values::fixed<collections::size_of<P>>,
int> = 0>
Definition: constant_mdspan_policies.hpp:31
Definition for constant_object.
Definitions for attach_patterns.
decltype(auto) constexpr attach_patterns(Arg &&arg, P &&p)
Attach a pattern_collection to an indexible object.
Definition: attach_patterns.hpp:74
constexpr bool pattern
An object describing the characteristics (e.g., dimensions, wrapping structure) of an index...
Definition: pattern.hpp:31
constexpr bool value
T is a fixed or dynamic value that is reducible to a number.
Definition: value.hpp:45
Definition: mdspan.hpp:34
Definition: constant_mdspan_policies.hpp:96
The root namespace for OpenKalman.
Definition: basics.hpp:34
constexpr auto make_constant(C c, P &&p)
Make an indexible object in which every element is a constant value.
Definition: make_constant.hpp:41
constexpr bool constant_object
Specifies that all elements of an object are known at compile time to be the same constant value...
Definition: constant_object.hpp:54
constexpr auto to_extents(P &&p)
Convert a pattern_collection to std::extents.
Definition: to_extents.hpp:78