utilmm::binary_compose_2< BinaryFun, UnaryFun1, UnaryFun2 > Struct Template Reference

Binary functor composition with two unary functors. More...

#include <utilmm/functional/binary_compose.hh>

List of all members.

Public Member Functions

 binary_compose_2 (BinaryFun const &bin, UnaryFun1 const &one, UnaryFun2 const &two)
 Constructor.
BinaryFun::result_type operator() (first_arg a, second_arg b) const
 Call operator.

Related Functions

(Note that these are not member functions.)

template<class Bin, class Fun1, class Fun2>
binary_compose_2
< Bin, Fun1, Fun2 > 
compose2_2 (Bin const &f, Fun1 const &a, Fun2 const &b)
 Composition function.


Detailed Description

template<class BinaryFun, class UnaryFun1, class UnaryFun2>
struct utilmm::binary_compose_2< BinaryFun, UnaryFun1, UnaryFun2 >

Binary functor composition with two unary functors.

This class helps programmers to compose one std::binary_function with two std::unary_function

Parameters:
BinaryFun The binary functor
UnaryFun1 The first unary function
UnaryFun2 The second unary function
The resulting class is a functor corresponding to BinaryFun(UnaryFun1(x), UnaryFun2(y))

Precondition:
The result_type of UnaryFun1 must be default convertible to the first_argument_type of BinaryFun

The result_type of UnaryFun2 must be default convertible to the second_argument_type of BinaryFun

Author:
Frédéric Py <fpy@laas.fr>
See also:
utilmm::unary_compose

Constructor & Destructor Documentation

template<class BinaryFun, class UnaryFun1, class UnaryFun2>
utilmm::binary_compose_2< BinaryFun, UnaryFun1, UnaryFun2 >::binary_compose_2 ( BinaryFun const &  bin,
UnaryFun1 const &  one,
UnaryFun2 const &  two 
) [inline]

Constructor.

Create a new instance having the three functors instances to compose.

Parameters:
bin The binary functor
one The first unary functor
two The second unary functor
Postcondition:
newly created instance will have exactly the same behavior as bin(one(x), two(y)).
See also:
utilmm::compose2_2


Member Function Documentation

template<class BinaryFun, class UnaryFun1, class UnaryFun2>
BinaryFun::result_type utilmm::binary_compose_2< BinaryFun, UnaryFun1, UnaryFun2 >::operator() ( first_arg  a,
second_arg  b 
) const [inline]

Call operator.

Compute the result of the composition for given arguments

Parameters:
a The first argument
b The second argument
Returns:
The result of the operation


Friends And Related Function Documentation

template<class Bin, class Fun1, class Fun2>
binary_compose_2< Bin, Fun1, Fun2 > compose2_2 ( Bin const &  f,
Fun1 const &  a,
Fun2 const &  b 
) [related]

Composition function.

This function create a new binary_compose_2 based on one binary_function and two unary functions. It only ease the declaration of binary_compose_2 instances.

Parameters:
f The binary function
a The first unary function
b The second unary function
Returns:
a functor corresponding to f(a(x), b(y))
See also:
binary_compose_2::binary_compose_2


The documentation for this struct was generated from the following file:
Generated on Tue Feb 19 10:51:01 2008 for Util-- by doxygen 1.5.3
SourceForge.net Project Page