Public Types | Public Member Functions | Private Attributes | List of all members
ecl::UnaryFunctionReference< ReferenceWrapper, T, void > Class Template Reference

Creates a void unary function from a reference wrapper. More...

#include <function_objects.hpp>

Inheritance diagram for ecl::UnaryFunctionReference< ReferenceWrapper, T, void >:
Inheritance graph
[legend]

Public Types

typedef ReferenceWrapper::type FunctionObject
 
- Public Types inherited from ecl::UnaryFunction< T, void >
typedef T argument_type
 The first argument type. More...
 
typedef void result_type
 The result type. More...
 

Public Member Functions

void operator() (T t)
 This ensures any children objects are deleted correctly. More...
 
 UnaryFunctionReference (const ReferenceWrapper &wrapper)
 Creates a UnaryFunction descendant from a reference wrapper. More...
 
virtual ~UnaryFunctionReference ()
 
- Public Member Functions inherited from ecl::UnaryFunction< T, void >
virtual ~UnaryFunction ()
 

Private Attributes

FunctionObjectfunction_object
 

Detailed Description

template<typename ReferenceWrapper, typename T>
class ecl::UnaryFunctionReference< ReferenceWrapper, T, void >

Creates a void unary function from a reference wrapper.

Takes a reference wrapper containing a unary function (strictly by definition) object reference and creates a UnaryFunction descendant. This is a specialisation which caters to unary function objects with void return type.

Template Parameters
FunctionObject: type of the function object to be referenced.
See also
UnaryFunctionReference, FunctionObjects.

Definition at line 1142 of file function_objects.hpp.

Member Typedef Documentation

◆ FunctionObject

template<typename ReferenceWrapper , typename T >
typedef ReferenceWrapper::type ecl::UnaryFunctionReference< ReferenceWrapper, T, void >::FunctionObject

The wrapper's function object reference type.

Definition at line 1145 of file function_objects.hpp.

Constructor & Destructor Documentation

◆ UnaryFunctionReference()

template<typename ReferenceWrapper , typename T >
ecl::UnaryFunctionReference< ReferenceWrapper, T, void >::UnaryFunctionReference ( const ReferenceWrapper wrapper)
inlineexplicit

Creates a UnaryFunction descendant from a reference wrapper.

Creates a UnaryFunction descendant by reference (not copying).

Parameters
wrapper: the reference wrapper holding the unary function object to be referenced.

Definition at line 1153 of file function_objects.hpp.

◆ ~UnaryFunctionReference()

template<typename ReferenceWrapper , typename T >
virtual ecl::UnaryFunctionReference< ReferenceWrapper, T, void >::~UnaryFunctionReference ( )
inlinevirtual

Definition at line 1156 of file function_objects.hpp.

Member Function Documentation

◆ operator()()

template<typename ReferenceWrapper , typename T >
void ecl::UnaryFunctionReference< ReferenceWrapper, T, void >::operator() ( t)
inlinevirtual

This ensures any children objects are deleted correctly.

The unary function object call.

Redirects the call to the referenced unary function object call.

Implements ecl::UnaryFunction< T, void >.

Definition at line 1163 of file function_objects.hpp.

Member Data Documentation

◆ function_object

template<typename ReferenceWrapper , typename T >
FunctionObject& ecl::UnaryFunctionReference< ReferenceWrapper, T, void >::function_object
private

Definition at line 1166 of file function_objects.hpp.


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


ecl_utilities
Author(s): Daniel Stonier
autogenerated on Sun Aug 2 2020 03:12:13