utilmm::unary_compose< UnaryFun1, UnaryFun2 > Struct Template Reference

Unary functors composition. More...

`#include <unary_compose.hh>`

## Public Member Functions | |

UnaryFun1::result_type | operator() (arg_param x) const |

Call operator. | |

unary_compose (UnaryFun1 const &one, UnaryFun2 const &two) | |

Constructor. | |

## Private Types | |

typedef arg_traits< typename UnaryFun2::argument_type > ::type | arg_param |

## Private Attributes | |

UnaryFun1 | fun_1 |

UnaryFun2 | fun_2 |

## Related Functions | |

(Note that these are not member functions.) | |

template<class Fun1 , class Fun2 > | |

unary_compose< Fun1, Fun2 > | compose1 (Fun1 const &f, Fun2 const &g) |

Composition function. |

struct utilmm::unary_compose< UnaryFun1, UnaryFun2 >

Unary functors composition.

This class helps programmers to compose two `std::unary_function`

in one

**Parameters:**-
UnaryFun1 The first unary function UnaryFun2 The second unary function

The resulting class is a functor corresponding to `UnaryFun1`

(UnaryFun2(x))

**Precondition:**- The
`result_type`

of*UnaryFun2*must be default convertible to the`argument_type`

of*UnaryFun1*

**See also:**- utilmm::binary_compose_2

Definition at line 31 of file unary_compose.hh.

template<class UnaryFun1, class UnaryFun2>

typedef arg_traits<typename UnaryFun2::argument_type>::type utilmm::unary_compose< UnaryFun1, UnaryFun2 >::arg_param` [private]` |

Definition at line 39 of file unary_compose.hh.

template<class UnaryFun1, class UnaryFun2>

utilmm::unary_compose< UnaryFun1, UnaryFun2 >::unary_compose | ( | UnaryFun1 const & | one, |

UnaryFun2 const & | two |
||

) | ` [inline]` |

Constructor.

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

**Parameters:**-
one The first functor two The second functor

**Postcondition:**- newly created instance will have exactly the same behavior as one(two(x)).

**See also:**- utilmm::compose1

Definition at line 55 of file unary_compose.hh.

template<class UnaryFun1, class UnaryFun2>

UnaryFun1::result_type utilmm::unary_compose< UnaryFun1, UnaryFun2 >::operator() | ( | arg_param | x | ) | const` [inline]` |

Call operator.

Compute the result of the composition for a given argument

**Parameters:**-
x The argument

**Returns:**- The result of the operation

Definition at line 66 of file unary_compose.hh.

template<class Fun1 , class Fun2 >

unary_compose< Fun1, Fun2 > compose1 | ( | Fun1 const & | f, |

Fun2 const & | g |
||

) | ` [related]` |

Composition function.

This function create a new `unary_compose`

instance based on two given function. It only ease the declaration of `unary_compose`

instances.

**Parameters:**-
f The first function g The second function

**Returns:**- a functor corresponding to
`f`

(g(x))

**See also:**- unary_compose::unary_compose

Definition at line 88 of file unary_compose.hh.

template<class UnaryFun1, class UnaryFun2>

UnaryFun1 utilmm::unary_compose< UnaryFun1, UnaryFun2 >::fun_1` [private]` |

Definition at line 35 of file unary_compose.hh.

template<class UnaryFun1, class UnaryFun2>

UnaryFun2 utilmm::unary_compose< UnaryFun1, UnaryFun2 >::fun_2` [private]` |

Definition at line 36 of file unary_compose.hh.

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