roboptim::Bind< U > Class Template Reference

Bind some function input to a constant value. More...

#include <roboptim/core/operator/bind.hh>

Inheritance diagram for roboptim::Bind< U >:
Collaboration diagram for roboptim::Bind< U >:

Public Types

typedef detail::AutopromoteTrait< U >::T_type parentType_t
 
typedef boost::shared_ptr< BindBindShPtr_t
 
typedef std::vector< boost::optional< value_type > > boundValues_t
 

Public Member Functions

 ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ (parentType_t)
 
 Bind (boost::shared_ptr< U > origin, const boundValues_t &selector)
 
 ~Bind ()
 
const boost::shared_ptr< U > & origin () const
 
boost::shared_ptr< U > & origin ()
 
void impl_compute (result_ref result, const_argument_ref x) const
 
void impl_gradient (gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
 
void impl_jacobian (jacobian_ref jacobian, const_argument_ref arg) const
 

Detailed Description

template<typename U>
class roboptim::Bind< U >

Bind some function input to a constant value.

This allows to reduce any function input space by setting some inputs to particular values.

Template Parameters
Uinput function type.

Member Typedef Documentation

◆ BindShPtr_t

template<typename U >
typedef boost::shared_ptr<Bind> roboptim::Bind< U >::BindShPtr_t

◆ boundValues_t

template<typename U >
typedef std::vector<boost::optional<value_type> > roboptim::Bind< U >::boundValues_t

◆ parentType_t

template<typename U >
typedef detail::AutopromoteTrait<U>::T_type roboptim::Bind< U >::parentType_t

Constructor & Destructor Documentation

◆ Bind()

template<typename U >
roboptim::Bind< U >::Bind ( boost::shared_ptr< U >  origin,
const boundValues_t selector 
)
explicit

◆ ~Bind()

template<typename U >
roboptim::Bind< U >::~Bind

Member Function Documentation

◆ impl_compute()

template<typename U >
void roboptim::Bind< U >::impl_compute ( result_ref  result,
const_argument_ref  x 
) const

◆ impl_gradient()

template<typename U >
void roboptim::Bind< U >::impl_gradient ( gradient_ref  gradient,
const_argument_ref  argument,
size_type  functionId = 0 
) const

◆ impl_jacobian()

template<typename U >
void roboptim::Bind< U >::impl_jacobian ( jacobian_ref  jacobian,
const_argument_ref  arg 
) const

◆ origin() [1/2]

template<typename U >
boost::shared_ptr<U>& roboptim::Bind< U >::origin ( )
inline

◆ origin() [2/2]

template<typename U >
const boost::shared_ptr<U>& roboptim::Bind< U >::origin ( ) const
inline

◆ ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_()

template<typename U >
roboptim::Bind< U >::ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ ( parentType_t  )