polybori::binary_composition< BinaryOp, FirstOp, SecondOp > Class Template Reference

Compose a binary function with two default constructable unary functions. More...

#include <pbori_func.h>

Inheritance diagram for polybori::binary_composition< BinaryOp, FirstOp, SecondOp >:

BinaryOp

List of all members.

Public Types

typedef base::result_type result_type
 Getting inherited types.
typedef BinaryOp base
 Define types corresponding to template arguments.
typedef FirstOp first_op_type
typedef SecondOp second_op_type

Public Member Functions

 binary_composition (const base &binop=base(), const first_op_type &unop1=first_op_type(), const second_op_type &unop2=second_op_type())
template<class FirstType, class SecondType>
result_type operator() (const FirstType &first, const SecondType &second) const
 The composed operation for constant arguments.
template<class FirstType, class SecondType>
result_type operator() (FirstType &first, const SecondType &second) const
 The composed operation for constant second argument.
template<class FirstType, class SecondType>
result_type operator() (const FirstType &first, SecondType &second) const
 The composed operation for constant first argument.

Protected Attributes

first_op_type first_op
second_op_type second_op


Detailed Description

template<class BinaryOp, class FirstOp, class SecondOp>
class polybori::binary_composition< BinaryOp, FirstOp, SecondOp >

Compose a binary function with two default constructable unary functions.

Member Typedef Documentation

template<class BinaryOp, class FirstOp, class SecondOp>
typedef BinaryOp polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::base

Define types corresponding to template arguments.

Reimplemented in polybori::symmetric_composition< BinaryOp, UnaryOperation >.

template<class BinaryOp, class FirstOp, class SecondOp>
typedef FirstOp polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::first_op_type

template<class BinaryOp, class FirstOp, class SecondOp>
typedef SecondOp polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::second_op_type

template<class BinaryOp, class FirstOp, class SecondOp>
typedef base::result_type polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::result_type

Getting inherited types.


Constructor & Destructor Documentation

template<class BinaryOp, class FirstOp, class SecondOp>
polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::binary_composition ( const base binop = base(),
const first_op_type unop1 = first_op_type(),
const second_op_type unop2 = second_op_type() 
) [inline]


Member Function Documentation

template<class BinaryOp, class FirstOp, class SecondOp>
template<class FirstType, class SecondType>
result_type polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::operator() ( const FirstType &  first,
const SecondType &  second 
) const [inline]

The composed operation for constant arguments.

template<class BinaryOp, class FirstOp, class SecondOp>
template<class FirstType, class SecondType>
result_type polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::operator() ( FirstType &  first,
const SecondType &  second 
) const [inline]

The composed operation for constant second argument.

template<class BinaryOp, class FirstOp, class SecondOp>
template<class FirstType, class SecondType>
result_type polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::operator() ( const FirstType &  first,
SecondType &  second 
) const [inline]

The composed operation for constant first argument.


Member Data Documentation

template<class BinaryOp, class FirstOp, class SecondOp>
first_op_type polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::first_op [protected]

template<class BinaryOp, class FirstOp, class SecondOp>
second_op_type polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::second_op [protected]


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

Generated on Wed Jan 30 16:39:54 2013 for PolyBoRi by  doxygen 1.5.6