Binary functor composition with two unary functors. More...
#include <binary_compose.hh>
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. | |
Private Types | |
typedef arg_traits< typename UnaryFun1::argument_type > ::type | first_arg |
typedef arg_traits< typename UnaryFun2::argument_type > ::type | second_arg |
Private Attributes | |
BinaryFun | bin_fn |
UnaryFun1 | fun_1 |
UnaryFun2 | fun_2 |
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. |
Binary functor composition with two unary functors.
This class helps programmers to compose one std::binary_function
with two std::unary_function
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))
result_type
of UnaryFun1 must be default convertible to the first_argument_type
of BinaryFun result_type
of UnaryFun2 must be default convertible to the second_argument_type
of BinaryFun Definition at line 35 of file binary_compose.hh.
typedef arg_traits<typename UnaryFun1::argument_type>::type utilmm::binary_compose_2< BinaryFun, UnaryFun1, UnaryFun2 >::first_arg [private] |
Definition at line 45 of file binary_compose.hh.
typedef arg_traits<typename UnaryFun2::argument_type>::type utilmm::binary_compose_2< BinaryFun, UnaryFun1, UnaryFun2 >::second_arg [private] |
Definition at line 47 of file binary_compose.hh.
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.
bin | The binary functor |
one | The first unary functor |
two | The second unary functor |
Definition at line 64 of file binary_compose.hh.
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
a | The first argument |
b | The second argument |
Definition at line 77 of file binary_compose.hh.
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.
f | The binary function |
a | The first unary function |
b | The second unary function |
f
(a(x), b(y))Definition at line 101 of file binary_compose.hh.
BinaryFun utilmm::binary_compose_2< BinaryFun, UnaryFun1, UnaryFun2 >::bin_fn [private] |
Definition at line 40 of file binary_compose.hh.
UnaryFun1 utilmm::binary_compose_2< BinaryFun, UnaryFun1, UnaryFun2 >::fun_1 [private] |
Definition at line 41 of file binary_compose.hh.
UnaryFun2 utilmm::binary_compose_2< BinaryFun, UnaryFun1, UnaryFun2 >::fun_2 [private] |
Definition at line 42 of file binary_compose.hh.