details.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2014-2019, CNRS
3  * Copyright 2018-2023, INRIA
4  */
5 
6 #ifndef __eigenpy_details_hpp__
7 #define __eigenpy_details_hpp__
8 
9 #include "eigenpy/fwd.hpp"
13 #include "eigenpy/eigenpy.hpp"
14 #include "eigenpy/exception.hpp"
15 #include "eigenpy/numpy-type.hpp"
16 #include "eigenpy/registration.hpp"
18 
19 namespace eigenpy {
20 
21 template <typename EigenType,
22  typename BaseType = typename get_eigen_base_type<EigenType>::type,
23  typename Scalar = typename EigenType::Scalar>
25 
26 template <typename MatType, typename Scalar>
27 struct expose_eigen_type_impl<MatType, Eigen::MatrixBase<MatType>, Scalar> {
28  static void run() {
29  if (check_registration<MatType>()) return;
30 
31  // to-python
33 #if EIGEN_VERSION_AT_LEAST(3, 2, 0)
36 #endif
37 
38  // from-python
40  }
41 };
42 
43 #ifdef EIGENPY_WITH_TENSOR_SUPPORT
44 template <typename TensorType, typename Scalar>
45 struct expose_eigen_type_impl<TensorType, Eigen::TensorBase<TensorType>,
46  Scalar> {
47  static void run() {
48  if (check_registration<TensorType>()) return;
49 
50  // to-python
54  const Eigen::TensorRef<const TensorType> >::registration();
55 
56  // from-python
58  }
59 };
60 #endif
61 
62 template <typename MatType>
65 }
66 
67 } // namespace eigenpy
68 
69 #endif // ifndef __eigenpy_details_hpp__
void enableEigenPySpecific()
Definition: details.hpp:63
Definition: complex.cpp:7
boost::mpl::if_< boost::is_const< typename boost::remove_reference< EigenType >::type >, const _type, _type >::type type
Definition: fwd.hpp:152


eigenpy
Author(s): Justin Carpentier, Nicolas Mansard
autogenerated on Fri Jun 2 2023 02:10:26