16 #ifndef OPENKALMAN_EIGEN_WRAPPER_HPP 17 #define OPENKALMAN_EIGEN_WRAPPER_HPP 27 template<
typename N,
typename L>
28 struct is_eigen_wrapper<internal::LibraryWrapper<N, L>> : std::bool_constant<eigen_general<L, true>> {};
38 concept eigen_wrapper =
40 constexpr
bool eigen_wrapper =
52 template<indexible NestedObject> requires (index_count_v<NestedObject> <= 2)
54 template<
typename NestedObject>
57 std::conditional_t<eigen_array_general<NestedObject>,
59 scalar_type_of_t<NestedObject>,
60 dynamic_dimension<NestedObject, 0> ? Eigen::Dynamic :
static_cast<int>(index_dimension_of_v<NestedObject, 0>),
61 dynamic_dimension<NestedObject, 1> ? Eigen::Dynamic : static_cast<int>(index_dimension_of_v<NestedObject, 1>),
62 layout_of_v<NestedObject> == data_layout::right ? Eigen::RowMajor : Eigen::ColMajor>,
64 scalar_type_of_t<NestedObject>,
65 dynamic_dimension<NestedObject, 0> ? Eigen::Dynamic :
static_cast<int>(index_dimension_of_v<NestedObject, 0>),
66 dynamic_dimension<NestedObject, 1> ? Eigen::Dynamic : static_cast<int>(index_dimension_of_v<NestedObject, 1>),
67 layout_of_v<NestedObject> == data_layout::right ? Eigen::RowMajor : Eigen::ColMajor>>>;
74 template<indexible Arg> requires (index_count_v<Arg> <= 2)
76 template<
typename Arg, std::enable_if_t<indexible<Arg> and (index_count_v<Arg> <= 2),
int> = 0>
79 make_eigen_wrapper(Arg&& arg)
81 return EigenWrapper<Arg> {std::forward<Arg>(arg)};
Definition: eigen-wrapper.hpp:25
constexpr bool value
T is a fixed or dynamic value that is reducible to a number.
Definition: value.hpp:45
Definition: eigen-forward-declarations.hpp:22
Definition: forward-class-declarations.hpp:424