![]() |
![]() |
![]() |
Classes | |
struct | sigc::compose1_functor<T_setter, T_getter> |
Adaptor that combines two functors. More... | |
struct | sigc::compose2_functor<T_setter, T_getter1, T_getter2> |
Adaptor that combines three functors. More... | |
Functions | |
template<class T_action, class T_setter, class T_getter> | |
void | sigc::visit_each (const T_action& _A_action, const compose1_functor<T_setter, T_getter>& _A_target) |
Performs a functor on each of the targets of a functor. | |
template<class T_action, class T_setter, class T_getter1, class T_getter2> | |
void | sigc::visit_each (const T_action& _A_action, const compose2_functor<T_setter, T_getter1, T_getter2>& _A_target) |
Performs a functor on each of the targets of a functor. | |
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) |
Creates an adaptor of type sigc::compose1_functor which combines two functors. | |
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) |
Creates an adaptor of type sigc::compose2_functor which combines three 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.
float square_root(float a) { return sqrtf(a); } float sum(float a, float b) { return a+b; } std::cout << sigc::compose(&square_root, &sum)(9, 16); // calls square_root(sum(3,6)) std::cout << sigc::compose(&sum, &square_root, &square_root)(9); // calls sum(square_root(9), square_root(9))
sigc::signal<float,float,float> some_signal; some_signal.connect(sigc::compose(&square_root, &sum));
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.
_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()(). |
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.
_A_setter | Functor that receives the return value of the invokation of _A_getter. | |
_A_getter | Functor to invoke from operator()(). |
void sigc::visit_each | ( | const T_action & | _A_action, | |
const compose2_functor< T_setter, T_getter1, T_getter2 > & | _A_target | |||
) | [inline] |
Performs a functor on each of the targets of a functor.
The function overload for sigc::compose2_functor performs a functor on the functors stored in the sigc::compose2_functor object.
void sigc::visit_each | ( | const T_action & | _A_action, | |
const compose1_functor< T_setter, T_getter > & | _A_target | |||
) | [inline] |
Performs a functor on each of the targets of a functor.
The function overload for sigc::compose1_functor performs a functor on the functors stored in the sigc::compose1_functor object.