16 #ifndef OPENKALMAN_MAKE_EIGEN_MATRIX_HPP 17 #define OPENKALMAN_MAKE_EIGEN_MATRIX_HPP 29 template<values::number Scalar, std::
size_t rows, std::
size_t columns = 1, std::convertible_to<Scalar> ... Args>
32 template<
typename Scalar, std::size_t rows, std::size_t columns = 1,
typename ... Args, std::enable_if_t<
33 values::number<Scalar> and (std::is_convertible_v<Args, Scalar> and ...) and
40 std::tuple d_tup {Dimensions<rows>{}, Dimensions<columns>{}};
41 return make_dense_object_from<M>(std::move(d_tup),
static_cast<const Scalar
>(args)...);
50 template<std::size_t rows, std::size_t columns = 1,
values::number...Args> requires
54 template<std::size_t rows, std::size_t columns = 1,
typename ... Args, std::enable_if_t<(values::number<Args> and ...) and
69 template<values::number Scalar, std::convertible_to<Scalar>...Args> requires (not std::is_void_v<Scalar>)
71 template<
typename Scalar,
typename ... Args, std::enable_if_t<
72 values::number<Scalar> and (std::is_convertible_v<Args, Scalar> and ...) and (not std::is_void_v<Scalar>),
int> = 0>
86 template<
typename Scalar = void,
values::number ... Args> requires (std::is_void_v<Scalar>) and
89 template<
typename Scalar = void,
typename ... Args, std::enable_if_t<(values::number<Args> and ...) and std::is_void_v<Scalar>,
int> = 0>
101 #endif //OPENKALMAN_MAKE_EIGEN_MATRIX_HPP auto make_eigen_matrix(const Args...args)
Make a native Eigen matrix from a list of coefficients in row-major order.
Definition: make_eigen_matrix.hpp:37
constexpr bool number
T is a numerical type.
Definition: number.hpp:33
std::conditional_t< sizeof...(dims)==1, Eigen::Matrix< Scalar, detail::eigen_index_convert< dims >..., detail::eigen_index_convert< 1 > >, Eigen::Matrix< Scalar, detail::eigen_index_convert< dims >... > > eigen_matrix_t
An alias for a self-contained, writable, native Eigen matrix.
Definition: eigen-forward-declarations.hpp:491
Definition: eigen-forward-declarations.hpp:22
constexpr std::size_t dynamic_size
A constant indicating that a size or index is dynamic.
Definition: global-definitions.hpp:33