11 template<
typename T,
typename MethodT>
36 template<
typename T,
typename U>
40 template<
typename T,
typename U>
45 template<
typename T,
typename U,
typename Base>
48 static_assert(std::is_base_of_v<Base, T>,
"This method does not belong to T hierarchy");
51 template<
typename T,
typename U,
typename Base>
54 static_assert(std::is_base_of_v<Base, T>,
"This method does not belong to T hierarchy");
58 template<
typename T,
typename U>
62 template<
typename T,
typename U>
67 template<
typename T,
typename U,
typename Base>
70 static_assert(std::is_base_of_v<Base, T>,
"This method does not belong to T hierarchy");
73 template<
typename T,
typename U,
typename Base>
76 static_assert(std::is_base_of_v<Base, T>,
"This method does not belong to T hierarchy");
81 template<
typename ArgT,
typename ConvertT>
82 std::function<Eigen::MatrixXd(
const ArgT &)>
MakeConvert(ConvertT && convertIn)
84 using RetT = std::function<Eigen::MatrixXd(
const ArgT &)>;
85 if constexpr(std::is_constructible_v<RetT, ConvertT &&>)
87 return RetT(convertIn);
91 return [](
const ArgT & u) {
return u; };
std::function< Eigen::MatrixXd(const ArgT &)> MakeConvert(ConvertT &&convertIn)
Definition: traits.h:82
static constexpr bool isVariableAccessor
Definition: traits.h:15
static constexpr bool isVoidAccessor
Definition: traits.h:14
static constexpr bool isVoidAccessor
Definition: traits.h:32
static constexpr bool isVariableAccessor
Definition: traits.h:33
T ReturnT
Definition: traits.h:31
T ReturnT
Definition: traits.h:22
static constexpr bool isVariableAccessor
Definition: traits.h:24
static constexpr bool isVoidAccessor
Definition: traits.h:23