Drake
drake::pydrake::detail Namespace Reference

Classes

struct  function_info
 
struct  functor_helpers
 
struct  type_caster_wrapped
 
struct  wrap_callback
 
struct  wrap_callback< const std::function< Signature > & >
 
struct  wrap_callback< std::function< Signature > >
 
struct  wrap_function_impl
 
struct  wrap_ref_ptr
 
struct  wrap_ref_ptr< T &, std::enable_if_t< is_generic_pybind< T >::value > >
 
struct  wrapper_eigen_translation
 

Typedefs

template<typename Func , typename T = void>
using enable_if_lambda_t = std::enable_if_t<!std::is_function< std::decay_t< Func > >::value, T >
 
template<typename T >
using is_generic_pybind = std::is_base_of< py::detail::type_caster_generic, py::detail::make_caster< T > >
 

Functions

template<typename Return , typename ... Args, typename Func >
auto make_function_info (Func &&func, Return(*infer)(Args...)=nullptr)
 
template<typename Return , typename ... Args>
auto infer_function_info (Return(*func)(Args...))
 
template<typename Return , typename Class , typename ... Args>
auto infer_function_info (Return(Class::*method)(Args...))
 
template<typename Func , typename = detail::enable_if_lambda_t<Func>>
auto infer_function_info (Func &&func)
 

Typedef Documentation

◆ enable_if_lambda_t

using enable_if_lambda_t = std::enable_if_t<!std::is_function<std::decay_t<Func> >::value, T>

◆ is_generic_pybind

using is_generic_pybind = std::is_base_of<py::detail::type_caster_generic, py::detail::make_caster<T> >

Function Documentation

◆ infer_function_info() [1/3]

auto drake::pydrake::detail::infer_function_info ( Return(*)(Args...)  func)

◆ infer_function_info() [2/3]

auto infer_function_info ( Return(Class::*)(Args...)  method)

◆ infer_function_info() [3/3]

auto drake::pydrake::detail::infer_function_info ( Func &&  func)

◆ make_function_info()

auto drake::pydrake::detail::make_function_info ( Func &&  func,
Return(*)(Args...)  infer = nullptr 
)