sigc::compose() combines two or three arbitrary functors. On invokation, parameters are passed on to one or two getter functor(s). The return value(s) are then passed on to the setter function.
More...
sigc::compose() combines two or three arbitrary functors. On invokation, parameters are passed on to one or two getter functor(s). The return value(s) are then passed on to the setter function.
- Examples:
float square_root(float a) { return sqrtf(a); }
float sum(float a, float b) { return a+b; }
The functor sigc::compose() returns can be passed directly into sigc::signal::connect().
- Example:
-
◆ compose() [1/2]
template <class T_setter , class T_getter >
compose1_functor<T_setter, T_getter> sigc::compose |
( |
const T_setter & |
_A_setter, |
|
|
const T_getter & |
_A_getter |
|
) |
| |
|
inline |
Creates an adaptor of type sigc::compose1_functor which combines two functors.
- Parameters
-
_A_setter | Functor that receives the return value of the invokation of _A_getter. |
_A_getter | Functor to invoke from operator()(). |
- Returns
- Adaptor that executes _A_setter with the value returned from invokation of _A_getter.
◆ compose() [2/2]
template <class T_setter , class T_getter1 , class T_getter2 >
compose2_functor<T_setter, T_getter1, T_getter2> sigc::compose |
( |
const T_setter & |
_A_setter, |
|
|
const T_getter1 & |
_A_getter1, |
|
|
const T_getter2 & |
_A_getter2 |
|
) |
| |
|
inline |
Creates an adaptor of type sigc::compose2_functor which combines three functors.
- Parameters
-
_A_setter | Functor that receives the return values of the invokation of _A_getter1 and _A_getter2. |
_A_getter1 | Functor to invoke from operator()(). |
_A_getter2 | Functor to invoke from operator()(). |
- Returns
- Adaptor that executes _A_setter with the values return from invokation of _A_getter1 and _A_getter2.
compose1_functor< T_setter, T_getter > compose(const T_setter &_A_setter, const T_getter &_A_getter)
Creates an adaptor of type sigc::compose1_functor which combines two functors.
Definition: compose.h:288