29 #ifndef __ETL_FUNCTION__
30 #define __ETL_FUNCTION__
48 template <
typename TParameter>
82 template <
typename TObject,
typename TParameter>
95 function(TObject& object, void(TObject::* p_function)(TParameter))
97 p_function(p_function)
108 (p_object->*p_function)(data);
114 void (TObject::* p_function)(TParameter);
122 template <
typename TObject>
132 function(TObject& object, void(TObject::* p_function)(void))
134 p_function(p_function)
144 (p_object->*p_function)();
150 void (TObject::* p_function)();
157 template <
typename TParameter>
166 function(void(*p_function)(TParameter))
167 : p_function(p_function)
183 void (*p_function)(TParameter);
199 function(void(*p_function)(void))
200 : p_function(p_function)
215 void (*p_function)();
TParameter parameter_type
The type of parameter sent to the function.
Definition: function.h:53
TParameter parameter_type
The type of parameter sent to the function.
Definition: function.h:88
Definition: function.h:49
Definition: algorithm.h:43
virtual void operator()(TParameter)=0
The function operator that will be overridden.
virtual void operator()(TParameter data)
Definition: function.h:105
Definition: function.h:83
TObject object_type
The type of object.
Definition: function.h:87