16 #ifndef OPENKALMAN_MAKE_ZERO_HPP 17 #define OPENKALMAN_MAKE_ZERO_HPP 30 template<values::value C, patterns::pattern_collection P> requires values::fixed<collections::size_of<P>>
33 template<
typename C,
typename P, std::enable_if_t<values::value<C> and
34 patterns::pattern_collection<P> and values::fixed<collections::size_of<P>>,
int> = 0>
51 template<
typename C,
typename...Ps, std::enable_if_t<values::value<C> and (... and patterns::pattern<Ps>),
int> = 0>
56 return make_zero<C>(std::tuple{std::forward<Ps>(ps)...});
65 template<values::value C, patterns::pattern_collection P> requires
66 std::default_initializable<P> and
67 values::fixed<collections::size_of<P>>
70 template<
typename C,
typename P, std::enable_if_t<
71 patterns::pattern_collection<P> and
73 values::fixed<collections::size_of<P>>,
int> = 0>
78 return make_zero<C>(P{});
Definition: fixed_value.hpp:41
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
The root namespace for OpenKalman.
Definition: basics.hpp:34
constexpr bool zero
Specifies that a type is known at compile time to be a constant matrix of value zero.
Definition: zero.hpp:63
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 make_zero(P &&p)
Make an indexible object in which every element is 0.
Definition: make_zero.hpp:37
Definitions for make_constant.