All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
roboptim::Product< U, V > Class Template Reference

Product of two RobOptim functions. More...

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

Inheritance diagram for roboptim::Product< U, V >:

Public Types

typedef detail::PromoteTrait
< U, V >::T_promote 
parentType_t
 
typedef boost::shared_ptr
< Product
ProductShPtr_t
 

Public Member Functions

 ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ (parentType_t)
 
 Product (boost::shared_ptr< U > left, boost::shared_ptr< V > right)
 
 ~Product ()
 
const boost::shared_ptr< U > & left () const
 
U & left ()
 
const boost::shared_ptr< V > & right () const
 
V & right ()
 
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, typename V>
class roboptim::Product< U, V >

Product of two RobOptim functions.

Template Parameters
Ufirst input function type.
Vsecond input function type.

Member Typedef Documentation

template<typename U , typename V >
typedef detail::PromoteTrait<U, V>::T_promote roboptim::Product< U, V >::parentType_t
template<typename U , typename V >
typedef boost::shared_ptr<Product> roboptim::Product< U, V >::ProductShPtr_t

Constructor & Destructor Documentation

template<typename U , typename V >
roboptim::Product< U, V >::Product ( boost::shared_ptr< U >  left,
boost::shared_ptr< V >  right 
)
explicit
template<typename U , typename V >
roboptim::Product< U, V >::~Product ( )

Member Function Documentation

template<typename U , typename V >
void roboptim::Product< U, V >::impl_compute ( result_ref  result,
const_argument_ref  x 
) const
template<typename U , typename V >
void roboptim::Product< U, V >::impl_gradient ( gradient_ref  gradient,
const_argument_ref  argument,
size_type  functionId = 0 
) const
template<typename U , typename V >
void roboptim::Product< U, V >::impl_jacobian ( jacobian_ref  jacobian,
const_argument_ref  arg 
) const
template<typename U , typename V >
const boost::shared_ptr<U>& roboptim::Product< U, V >::left ( ) const
inline
template<typename U , typename V >
U& roboptim::Product< U, V >::left ( )
inline
template<typename U , typename V >
const boost::shared_ptr<V>& roboptim::Product< U, V >::right ( ) const
inline
template<typename U , typename V >
V& roboptim::Product< U, V >::right ( )
inline
template<typename U , typename V >
roboptim::Product< U, V >::ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ ( parentType_t  )