PolyBoRi
Public Types | Public Member Functions | Protected Attributes | List of all members
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 >:

Public Types

typedef base::result_type result_type
 Getting inherited types. More...
 
typedef BinaryOp base
 Define types corresponding to template arguments. More...
 
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. More...
 
template<class FirstType , class SecondType >
result_type operator() (FirstType &first, const SecondType &second) const
 The composed operation for constant second argument. More...
 
template<class FirstType , class SecondType >
result_type operator() (const FirstType &first, SecondType &second) const
 The composed operation for constant first argument. More...
 

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.

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 base::result_type polybori::binary_composition< BinaryOp, FirstOp, SecondOp >::result_type

Getting inherited types.

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

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: