Method< R, ClassT, As > Class Template Reference

#include <Pt/Method.h>

Adapter for class methods. More...

Inherits Callable< R, As... >.

Public Types

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

Public Member Functions

 Method (ClassT &object, MemFuncT method)
 Wraps the given object/member pair.
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.
const MemFuncT & method () const
 Returns a reference to the wrapped member function.
R call (As... args) const
 Calls the callable entity and returns its result.
void invoke (As... args) const
 Invokes the invokable entity with the given arguments.
Method * clone () const
 Returns a copy of this instance.
bool operator== (const Method &other) const
 Returns true if both use the same object and function pointer.
R operator() (As... args) const
 Same as call().

(Note that these are not member symbols.)

ConstMethod< R, ClassT, As... > callable (ClassT &object, R(BaseT::*method)(As...) const)
 Returns a ConstMethod object for the given object/method pair.
Function< R, As... > callable (R(*function)(As...))
 Returns a Function wrapper for the given free/static function.
Method< R, ClassT, As... > callable (ClassT &object, R(BaseT::*method)(As...))
 Returns a Method object for the given object/method pair.

Detailed Description

template<typename R, typename ClassT, typename... As>
class Pt::Method< R, ClassT, As >

The Method class wraps member functions as Callable objects so that they can be used with the signals/slots framework.

Member Function Documentation

◆ call()

template<typename R, typename ClassT, typename... As>
R call ( As... args) const
virtual

This is the primary non-virtual entry point used by Delegate and other callers that need the return value. All derived classes must implement this.

Implements Callable< R, As... >.

◆ invoke()

template<typename R, typename ClassT, typename... As>
void invoke ( As... args) const
virtual

The passed arguments must match the template parameters.

Implements Callable< R, As... >.

◆ clone()

template<typename R, typename ClassT, typename... As>
Method * 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, As... >.