Public Member Functions | Private Attributes
ecl::BoundNullaryMemberFunction< C, R > Class Template Reference

Nullary function object for bound nullary member functions. More...

#include <function_objects.hpp>

Inheritance diagram for ecl::BoundNullaryMemberFunction< C, R >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 BoundNullaryMemberFunction (R(C::*function)(), C &class_object)
 Binds a unary member function and creates a nullary function object.
operator() ()
 This ensures any children objects are deleted correctly.
virtual ~BoundNullaryMemberFunction ()

Private Attributes

C & member_class
R(C::* member_function )()

Detailed Description

template<typename C, typename R = void>
class ecl::BoundNullaryMemberFunction< C, R >

Nullary function object for bound nullary member functions.

Binds the class instance for a nullary member function and uses this to construct a nullary function object.

Usage:

 class A {
 public:
     void f() { //...
     }

 int main() {
     A a;
     BoundNullaryMemberFunction<A,void> function_object(&A::f,a);
     function_object();
 }
Template Parameters:
C: the member function's class type.
R: the return type.
See also:
ecl::utilities::BoundNullaryMemberFunction<C,void>, generateFunctionObject, FunctionObjects.

Definition at line 586 of file function_objects.hpp.


Constructor & Destructor Documentation

template<typename C, typename R = void>
ecl::BoundNullaryMemberFunction< C, R >::BoundNullaryMemberFunction ( R(C::*)()  function,
C &  class_object 
) [inline]

Binds a unary member function and creates a nullary function object.

Accepts the function pointer and class instance, binds them and creates a nullary function object.

Parameters:
function: the void member function.
class_object: the member function's class instance.

Definition at line 596 of file function_objects.hpp.

template<typename C, typename R = void>
virtual ecl::BoundNullaryMemberFunction< C, R >::~BoundNullaryMemberFunction ( ) [inline, virtual]

Definition at line 600 of file function_objects.hpp.


Member Function Documentation

template<typename C, typename R = void>
R ecl::BoundNullaryMemberFunction< C, R >::operator() ( ) [inline, virtual]

This ensures any children objects are deleted correctly.

A nullary function object call.

Redirects the nullary function object call to the bound member function.

Returns:
R : the function's return value.

Implements ecl::NullaryFunction< R >.

Definition at line 609 of file function_objects.hpp.


Member Data Documentation

template<typename C, typename R = void>
C& ecl::BoundNullaryMemberFunction< C, R >::member_class [private]

Definition at line 612 of file function_objects.hpp.

template<typename C, typename R = void>
R(C::* ecl::BoundNullaryMemberFunction< C, R >::member_function)() [private]

Definition at line 613 of file function_objects.hpp.


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


ecl_utilities
Author(s): Daniel Stonier
autogenerated on Mon Jul 3 2017 02:21:39