Method< R, ClassT, ARGUMENTS > Class Template Referenceabstract

#include <Pt/Method.h>

Adapter for class methods. More...

Inherits Callable< R, ARGUMENTS >.

Public Types

typedef R(ClassT::* MemFuncT )(ARGUMENTS)
 The wrapped member function signature.
 

Public Member Functions

 Method (ClassT &object, MemFuncT ptr)
 Wraps the given object/member pair.
 
call (ARGUMENTS) const
 Same as operator().
 
Method< R, ClassT, ARGUMENTS > * clone () const
 Returns a copy of this instance. More...
 
void invoke (ARGUMENTS) const
 Invoke the callable entity. More...
 
const MemFuncTmethod () const
 Returns a reference to the wrapped member function.
 
ClassT & object ()
 Returns a reference to this object's wrapped ClassT object.
 
const ClassT & object () const
 Returns a const reference to the wrapped ClassT object.
 
virtual R operator() (ARGUMENTS) const =0
 Call the callable entity. More...
 
bool operator== (const Method &rhs) const
 Returns true if both use the same object and function pointer.
 

Related Functions

template<class R , class BaseT , class ClassT , typename ARGS >
Method< R, ClassT, ARGS > callable (ClassT &obj, R(BaseT::*ptr)(ARGS))
 Returns a Method object for the given object/method pair.
 
template<class R , class BaseT , class C , typename ARGS >
ConstMethod< R, C, ARGS > callable (C &obj, R(BaseT::*ptr)(ARGS) const )
 Returns a ConstMethod object for the given object/method pair.
 
template<typename R , typename ARGS >
Function< R, ARGS > callable (R(*func)(ARGS))
 Returns a Function wrapper for the given free/static function.
 

Detailed Description

template<typename R, class ClassT, typename ARGUMENTS>
class Pt::Method< R, ClassT, ARGUMENTS >

The Method class wraps member functions as Callable objects so that they can be used with the signals/slots framework. There are partial specializations of this class template for up to ten arguments.

Member Function Documentation

Method<R, ClassT, ARGUMENTS>* clone ( ) const
virtual

A copy of the instance is created with new is returned. Ownership is transfered to the caller, who has to delete it.

Implements Callable< R, ARGUMENTS >.

virtual R operator() ( ARGUMENTS  ) const
pure virtualinherited
void invoke ( ARGUMENTS  ) const
virtualinherited

Inherited from Invokable. Ignores the return value of the Callable. Since this class template is partially specialized, the passed arguments ARGUMENTS must match the template parameters.

Implements Invokable< ARGUMENTS >.