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.