All Classes Namespaces Functions Typedefs Enumerations Pages
Public Member Functions | List of all members
fmatvec::Function< Ret(Arg1, Arg2)> Class Template Referenceabstract

A function object with 2 arguments. More...

#include <function.h>

Inheritance diagram for fmatvec::Function< Ret(Arg1, Arg2)>:
fmatvec::Atom

Public Member Functions

virtual Size< Arg1 >::type getArg1Size () const
 Return the size of first argument.
 
virtual Size< Arg2 >::type getArg2Size () const
 Return the size of first argument.
 
virtual Ret operator() (const Arg1 &arg1, const Arg2 &arg2)=0
 Function value: pure virtual (MUST be implemented by derived class)
 
virtual Der< Ret, Arg1 >::type parDer1 (const Arg1 &arg1, const Arg2 &arg2)
 First derivative: partial derivative of the function value with respect to the first argument.
 
virtual Ret dirDer1 (const Arg1 &arg1Dir, const Arg1 &arg1, const Arg2 &arg2)
 First derivative: directional derivative of the function value with respect to the first argument.
 
virtual Der< Ret, Arg2 >::type parDer2 (const Arg1 &arg1, const Arg2 &arg2)
 First derivative: partial derivative of the function value with respect to the second argument.
 
virtual Ret dirDer2 (const Arg2 &arg2Dir, const Arg1 &arg1, const Arg2 &arg2)
 First derivative: directional derivative of the function value with respect to the second argument.
 
virtual Der< typename Der< Ret,
Arg1 >::type, Arg1 >::type 
parDer1ParDer1 (const Arg1 &arg1, const Arg2 &arg2)
 Second derivative: partial derivative of parDer1 with respect to the first argument.
 
virtual Der< Ret, Arg1 >::type parDer1DirDer1 (const Arg1 &arg1Dir, const Arg1 &arg1, const Arg2 &arg2)
 Second derivative: directional derivative of parDer1 with respect to the first argument.
 
virtual Der< typename Der< Ret,
Arg2 >::type, Arg2 >::type 
parDer2ParDer2 (const Arg1 &arg1, const Arg2 &arg2)
 Second derivative: partial derivative of parDer2 with respect to the first argument.
 
virtual Der< Ret, Arg2 >::type parDer2DirDer2 (const Arg2 &arg2Dir, const Arg1 &arg1, const Arg2 &arg2)
 Second derivative: directional derivative of parDer2 with respect to the first argument.
 
virtual Der< typename Der< Ret,
Arg1 >::type, Arg2 >::type 
parDer1ParDer2 (const Arg1 &arg1, const Arg2 &arg2)
 Second mixed derivative: partial derivative of parDer1 with respect to the second argument.
 
virtual Der< Ret, Arg1 >::type parDer1DirDer2 (const Arg2 &arg2Dir, const Arg1 &arg1, const Arg2 &arg2)
 Second mixed derivative: directional derivative of parDer1 with respect to the second argument.
 
virtual Der< typename Der< Ret,
Arg2 >::type, Arg1 >::type 
parDer2ParDer1 (const Arg1 &arg1, const Arg2 &arg2)
 Second mixed derivative: partial derivative of parDer2 with respect to the first argument.
 
virtual Der< Ret, Arg2 >::type parDer2DirDer1 (const Arg1 &arg1Dir, const Arg1 &arg1, const Arg2 &arg2)
 Second mixed derivative: directional derivative of parDer2 with respect to the first argument.
 
virtual bool constParDer1 () const
 Returns true, if the partial derivative of the function value with respect to the first argument.
 
virtual bool constParDer2 () const
 Returns true, if the partial derivative of the function value with respect to the second argument.
 
- Public Member Functions inherited from fmatvec::Atom
 BOOST_STATIC_ASSERT_MSG (SIZE==FMATVEC_ATOM_MSGTYPE_SIZE,"The proprocessor define FMATVEC_ATOM_MSGTYPE_SIZE must be equal Atom::SIZE.")
 
virtual ~Atom ()
 dtor.
 
Atomoperator= (const Atom &)
 When a Atom is assinged do not change the messsage streams since we always use the message streams being active at ctor time.
 
void setMessageStreamActive (MsgType type, bool active)
 Set the active flag of this object and all objects which were created using the same message stream as this object.
 
void getMessageStream (MsgType type, boost::shared_ptr< bool > &a, boost::shared_ptr< std::ostream > &s)
 Get the shared message stream active flag and the shared message stream of this object.
 
void adoptMessageStreams (const Atom *src=NULL)
 
std::ostream & msg (MsgType type)
 
bool msgAct (MsgType type)
 

Additional Inherited Members

- Public Types inherited from fmatvec::Atom
enum  MsgType { Info, Warn, Debug, SIZE }
 Messages can be printed to different message types named here.
 
- Static Public Member Functions inherited from fmatvec::Atom
static void setCurrentMessageStream (MsgType type, const boost::shared_ptr< bool > &a=boost::make_shared< bool >(true), const boost::shared_ptr< std::ostream > &s=boost::make_shared< std::ostream >(std::cout.rdbuf()))
 
static std::ostream & msgStatic (MsgType type)
 
static bool msgActStatic (MsgType type)
 
- Protected Member Functions inherited from fmatvec::Atom
 Atom ()
 When a Atom is default constructed use the current statically set message streams.
 
 Atom (const Atom &src)
 When a Atom is copy constructed use the current statically set message streams, not the message streams from src.
 

Detailed Description

template<typename Ret, typename Arg1, typename Arg2>
class fmatvec::Function< Ret(Arg1, Arg2)>

A function object with 2 arguments.


The documentation for this class was generated from the following file:

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML