Home
Base module

AbstractDelegate

Abstract delegate interface.

AbstractDelegate

#include <icy/delegate.h>
template<typename RT, typename... Args>
struct AbstractDelegate

Defined in src/base/include/icy/delegate.h:29

Abstract delegate interface.

The Delegate class contains a pointer to a function. This wrapper class is used instead of std::function since it is interchangable with fast delegates and also provides an equality operator for comparing the underlying function where supported.

List of all members

NameKindOwner
~AbstractDelegatefunctionDeclared here
operator()functionDeclared here
operator==functionDeclared here

Public Methods

ReturnNameDescription
RToperator() virtual constInvokes the underlying callable with the supplied arguments.
booloperator== virtual constCompares two delegates for equality (same target function and instance).

operator()

virtual const

virtual RT operator()(Args... args) const

Defined in src/base/include/icy/delegate.h:36

Invokes the underlying callable with the supplied arguments.

Parameters

  • args Arguments forwarded to the wrapped function.

Returns

Result of the wrapped function call.

Reimplemented by

operator==

virtual const

virtual bool operator==(const AbstractDelegate< RT, Args... > & that) const

Defined in src/base/include/icy/delegate.h:41

Compares two delegates for equality (same target function and instance).

Parameters

  • that Other delegate to compare against.

Returns

True if both delegates refer to the same callable target.

Reimplemented by