Poco

template < class TArgs, bool hasSender = true, bool senderIsConst = true >

class FunctionDelegate

Library: Foundation
Package: Events
Header: Poco/FunctionDelegate.h

Description

Wraps a freestanding function or static member function for use as a Delegate.

Inheritance

Direct Base Classes: AbstractDelegate < TArgs >

All Base Classes: AbstractDelegate < TArgs >

Member Summary

Member Functions: clone, disable, equals, notify, operator =

Types Aliases

NotifyFunction

using NotifyFunction = typename Detail::FunctionDelegateNotifyType < TArgs, hasSender, senderIsConst >::Type;

Constructors

FunctionDelegate

FunctionDelegate() = delete;

FunctionDelegate inline

FunctionDelegate(
    NotifyFunction function
);

FunctionDelegate inline

FunctionDelegate(
    const FunctionDelegate & delegate
);

Destructor

~FunctionDelegate

~FunctionDelegate() = default;

Member Functions

clone inline

AbstractDelegate < TArgs > * clone() const;

disable inline

void disable();

equals inline

bool equals(
    const AbstractDelegate < TArgs > & other
) const;

notify inline

bool notify(
    const void * sender,
    TArgs & arguments
);

operator = inline

FunctionDelegate & operator = (
    const FunctionDelegate & delegate
);

Variables

_function protected

NotifyFunction _function;

_mutex protected

Mutex _mutex;