16 #ifndef OPENKALMAN_MAKE_CONSTANT_DIAGONAL_HPP 17 #define OPENKALMAN_MAKE_CONSTANT_DIAGONAL_HPP 19 #include "patterns/patterns.hpp" 33 template<values::value C, patterns::pattern_collection P>
36 template<
typename C,
typename P, std::enable_if_t<
37 values::value<C> and patterns::pattern_collection<P>,
int> = 0>
55 template<
typename C,
typename...Ps, std::enable_if_t<values::value<C> and (... and patterns::pattern<Ps>),
int> = 0>
69 template<patterns::pattern_collection P, values::value C> requires
70 std::default_initializable<P> and
71 values::fixed<collections::size_of<P>>
74 template<
typename C,
typename P, std::enable_if_t<
75 patterns::pattern_collection<P> and
77 values::fixed<collections::size_of<P>>,
int> = 0>
Definition for constant_diagonal_object.
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
constexpr auto make_constant_diagonal(C c, P &&p)
Make an indexible object in which every diagonal element is a constant value.
Definition: make_constant_diagonal.hpp:40
The root namespace for OpenKalman.
Definition: basics.hpp:34
constexpr bool constant_diagonal_object
Specifies that all diagonal elements of a diagonal object are known at compile time to be the same co...
Definition: constant_diagonal_object.hpp:38
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 detail::diagonal_of_adapter diagonal_of
A RangeAdapterObject that converts one pattern_collection to another corresponding to the diagonal_ma...
Definition: diagonal_of.hpp:153
decltype(auto) constexpr to_diagonal(Arg &&arg, P &&p)
Convert a column vector (or any other array with a 1D second index) into a diagonal_matrix.
Definition: to_diagonal.hpp:46
Definitions for make_constant.
Definition for to_diagonal function.
constexpr auto to_extents(P &&p)
Convert a pattern_collection to std::extents.
Definition: to_extents.hpp:78