Image Component Library (ICL)
Classes | Functions
ICL's Function Class and Creation Functions

Classes

struct  icl::utils::FunctionImpl< R, A, B, C >
 General Implementation for binary functions. More...
 
struct  icl::utils::FunctionImpl< R, A, B, NO_ARG >
 Special Implementation for unary functions. More...
 
struct  icl::utils::FunctionImpl< R, A, NO_ARG >
 Special Implementation for unary functions. More...
 
struct  icl::utils::FunctionImpl< R, NO_ARG >
 Special Implementation for void functions. More...
 
struct  icl::utils::MemberFunctionImpl< Object, R, A, B, C >
 FunctionImpl implementation for member functions. More...
 
struct  icl::utils::ConstMemberFunctionImpl< Object, R, A, B, C >
 FunctionImpl implementation for const member functions. More...
 
struct  icl::utils::FunctorFunctionImpl< Object, R, A, B, C >
 FunctionImpl implementation for Functors. More...
 
struct  icl::utils::ConstFunctorFunctionImpl< Object, R, A, B, C >
 FunctionImpl implementation for functors of const objects. More...
 
struct  icl::utils::GlobalFunctionImpl< R, A, B, C >
 FunctionImpl implementation for global functions. More...
 
struct  icl::utils::Function< R, A, B, C >
 The General Function Template. More...
 
struct  icl::utils::SelectFunctor< R, A, B, C >
 Empty utility template that can be used to select a special functor. More...
 

Functions

template<class Object , class R , class A , class B , class C >
Function< R, A, B, C > icl::utils::function (Object &obj, R(Object::*method)(A, B, C))
 Create Function instances from member functions. More...
 
template<class Object , class R , class A , class B >
Function< R, A, B > icl::utils::function (Object &obj, R(Object::*method)(A, B))
 Create Function instances from member functions. More...
 
template<class Object , class R , class A >
Function< R, A > icl::utils::function (Object &obj, R(Object::*method)(A))
 create Function instances from member function More...
 
template<class Object , class R >
Function< R > icl::utils::function (Object &obj, R(Object::*method)())
 create Function instances from member function More...
 
template<class Object , class R , class A , class B , class C >
Function< R, A, B, C > icl::utils::function (const Object &obj, R(Object::*method)(A a, B b, C c) const)
 create Function instances from const member function More...
 
template<class Object , class R , class A , class B >
Function< R, A, B > icl::utils::function (const Object &obj, R(Object::*method)(A a, B b) const)
 create Function instances from const member function More...
 
template<class Object , class R , class A >
Function< R, A > icl::utils::function (const Object &obj, R(Object::*method)(A a) const)
 create Function instances from const member function More...
 
template<class Object , class R >
Function< R > icl::utils::function (const Object &obj, R(Object::*method)() const)
 create Function instances from const member function More...
 
template<class Object , class R , class A , class B , class C >
Function< R, A, B, C > icl::utils::function (Object *obj, R(Object::*method)(A, B, C))
 Create Function instances from member functions. More...
 
template<class Object , class R , class A , class B >
Function< R, A, B > icl::utils::function (Object *obj, R(Object::*method)(A, B))
 Create Function instances from member functions. More...
 
template<class Object , class R , class A >
Function< R, A > icl::utils::function (Object *obj, R(Object::*method)(A))
 create Function instances from member function More...
 
template<class Object , class R >
Function< R > icl::utils::function (Object *obj, R(Object::*method)())
 create Function instances from member function More...
 
template<class Object , class R , class A , class B , class C >
Function< R, A, B, C > icl::utils::function (const Object *obj, R(Object::*method)(A, B, C) const)
 Create Function instances from const member functions. More...
 
template<class Object , class R , class A , class B >
Function< R, A, B > icl::utils::function (const Object *obj, R(Object::*method)(A, B) const)
 Create Function instances from const member functions. More...
 
template<class Object , class R , class A >
Function< R, A > icl::utils::function (const Object *obj, R(Object::*method)(A) const)
 create Function instances from const member function More...
 
template<class Object , class R >
Function< R > icl::utils::function (const Object *obj, R(Object::*method)() const)
 create Function instances from const member function More...
 
template<class Object , class R , class A , class B , class C >
Function< R, A, B, C > icl::utils::function (Object &obj, SelectFunctor< R, A, B, C >)
 create Function instances from given object-functor More...
 
template<class Object , class R , class A , class B , class C >
Function< R, A, B > icl::utils::function (const Object &obj, SelectFunctor< R, A, B, C >)
 create Function instances from given object-functor (const version) More...
 
template<class Object >
Function icl::utils::function (Object &obj)
 shortcut create Function to wrap an objects parameter-less function operator More...
 
template<class Object >
Function icl::utils::function (const Object &obj)
 shortcut create Function to wrap a const objects parameter-less function operator More...
 
template<class Object , class R , class A , class B , class C >
Function< R, A, B, C > icl::utils::function (Object *obj, SelectFunctor< R, A, B, C > selector)
 create Function instances from given object-functor More...
 
template<class Object , class R , class A , class B , class C >
Function< R, A, B, C > icl::utils::function (const Object *obj, SelectFunctor< R, A, B, C > selector)
 create Function instances from given object-functor (const version) More...
 
template<class R , class A , class B , class C >
Function< R, A, B, C > icl::utils::function (R(*global_function)(A a, B b, C c))
 Function creator function from given binary global function. More...
 
template<class R , class A , class B >
Function< R, A, B > icl::utils::function (R(*global_function)(A a, B b))
 Function creator function from given binary global function. More...
 
template<class R , class A >
Function< R, A > icl::utils::function (R(*global_function)(A a))
 Function creator function from given unary global function. More...
 
template<class R >
Function< R > icl::utils::function (R(*global_function)())
 Function creator function from given parameter less global function. More...
 

Detailed Description

Function Documentation

template<class Object , class R , class A , class B , class C >
Function<R, A, B, C> icl::utils::function ( Object &  obj,
R(Object::*)(A, B, C)  method 
)

Create Function instances from member functions.

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given binary member function

See also
Function Class Creation
template<class Object , class R , class A , class B >
Function<R, A, B> icl::utils::function ( Object &  obj,
R(Object::*)(A, B)  method 
)

Create Function instances from member functions.

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given binary member function

See also
Function Class Creation
template<class Object , class R , class A >
Function<R, A> icl::utils::function ( Object &  obj,
R(Object::*)(A)  method 
)

create Function instances from member function

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given unary member function

See also
Function Class Creation
template<class Object , class R >
Function<R> icl::utils::function ( Object &  obj,
R(Object::*)()  method 
)

create Function instances from member function

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given parameter-less member function

See also
Function Class Creation
template<class Object , class R , class A , class B , class C >
Function<R, A, B, C> icl::utils::function ( const Object &  obj,
R(Object::*)(A a, B b, C c) const  method 
)

create Function instances from const member function

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given unary member function

See also
Function Class Creation
template<class Object , class R , class A , class B >
Function<R, A, B> icl::utils::function ( const Object &  obj,
R(Object::*)(A a, B b) const  method 
)

create Function instances from const member function

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given unary member function

See also
Function Class Creation
template<class Object , class R , class A >
Function<R, A> icl::utils::function ( const Object &  obj,
R(Object::*)(A a) const  method 
)

create Function instances from const member function

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given unary member function

See also
Function Class Creation
template<class Object , class R >
Function<R> icl::utils::function ( const Object &  obj,
R(Object::*)() const  method 
)

create Function instances from const member function

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given parameter-less member function

See also
Function Class Creation
template<class Object , class R , class A , class B , class C >
Function<R, A, B, C> icl::utils::function ( Object *  obj,
R(Object::*)(A, B, C)  method 
)

Create Function instances from member functions.

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given binary member function

See also
Function Class Creation
template<class Object , class R , class A , class B >
Function<R, A, B> icl::utils::function ( Object *  obj,
R(Object::*)(A, B)  method 
)

Create Function instances from member functions.

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given binary member function

See also
Function Class Creation
template<class Object , class R , class A >
Function<R, A> icl::utils::function ( Object *  obj,
R(Object::*)(A)  method 
)

create Function instances from member function

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given unary member function

See also
Function Class Creation
template<class Object , class R >
Function<R> icl::utils::function ( Object *  obj,
R(Object::*)()  method 
)

create Function instances from member function

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given parameter-less member function

See also
Function Class Creation
template<class Object , class R , class A , class B , class C >
Function<R, A, B, C> icl::utils::function ( const Object *  obj,
R(Object::*)(A, B, C) const  method 
)

Create Function instances from const member functions.

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given binary member function

See also
Function Class Creation
template<class Object , class R , class A , class B >
Function<R, A, B> icl::utils::function ( const Object *  obj,
R(Object::*)(A, B) const  method 
)

Create Function instances from const member functions.

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given binary member function

See also
Function Class Creation
template<class Object , class R , class A >
Function<R, A> icl::utils::function ( const Object *  obj,
R(Object::*)(A) const  method 
)

create Function instances from const member function

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given unary member function

See also
Function Class Creation
template<class Object , class R >
Function<R> icl::utils::function ( const Object *  obj,
R(Object::*)() const  method 
)

create Function instances from const member function

This version of function allows to create a Function instance from a given object instance (passed by reference) and a given parameter-less member function

See also
Function Class Creation
template<class Object , class R , class A , class B , class C >
Function<R, A, B, C> icl::utils::function ( Object &  obj,
SelectFunctor< R, A, B, C >   
)

create Function instances from given object-functor

In constrast to functions, a pointer to an objects overloaded functor can only be defined hardly. Therefore this version of the icl::utils::function-template allows to pick a functor from a given object

See also
Function Class Creation
template<class Object , class R , class A , class B , class C >
Function<R, A, B> icl::utils::function ( const Object &  obj,
SelectFunctor< R, A, B, C >   
)

create Function instances from given object-functor (const version)

In constrast to functions, a pointer to an objects overloaded functor can only be defined hardly. Therefore this version of the icl::utils::function-template allows to pick a functor from a given object

See also
Function Class Creation
template<class Object >
Function icl::utils::function ( Object &  obj)

shortcut create Function to wrap an objects parameter-less function operator

See also
Function Class Creation
template<class Object >
Function icl::utils::function ( const Object &  obj)

shortcut create Function to wrap a const objects parameter-less function operator

See also
Function Class Creation
template<class Object , class R , class A , class B , class C >
Function<R, A, B, C> icl::utils::function ( Object *  obj,
SelectFunctor< R, A, B, C >  selector 
)

create Function instances from given object-functor

In constrast to functions, a pointer to an objects overloaded functor can only be defined hardly. Therefore this version of the icl::utils::function-template allows to pick a functor from a given object

See also
Function Class Creation
template<class Object , class R , class A , class B , class C >
Function<R, A, B, C> icl::utils::function ( const Object *  obj,
SelectFunctor< R, A, B, C >  selector 
)

create Function instances from given object-functor (const version)

In constrast to functions, a pointer to an objects overloaded functor can only be defined hardly. Therefore this version of the icl::utils::function-template allows to pick a functor from a given object

See also
Function Class Creation
template<class R , class A , class B , class C >
Function<R, A, B, C> icl::utils::function ( R(*)(A a, B b, C c)  global_function)

Function creator function from given binary global function.

In contrast to the constructor, this method can automatically detect the parameter types (like std::make_pair)

See also
Function Class Creation
template<class R , class A , class B >
Function<R, A, B> icl::utils::function ( R(*)(A a, B b)  global_function)

Function creator function from given binary global function.

In contrast to the constructor, this method can automatically detect the parameter types (like std::make_pair)

See also
Function Class Creation
template<class R , class A >
Function<R, A> icl::utils::function ( R(*)(A a)  global_function)

Function creator function from given unary global function.

In contrast to the constructor, this method can automatically detect the parameter types (like std::make_pair)

See also
Function Class Creation
template<class R >
Function<R> icl::utils::function ( R(*)()  global_function)

Function creator function from given parameter less global function.

In contrast to the constructor, this method can automatically detect the parameter types (like std::make_pair)

See also
Function Class Creation