|
| DeferredMemberCaller (const MemberDelegateMethodPointer methodPointer, classType *thisPointer, parameters...params) |
| Constructor accepting a this pointer and a member method. More...
|
|
EASYDELEGATE_INLINE returnType | dispatch (void) const |
| Dispatches the DeferredMemberCaller. More...
|
|
EASYDELEGATE_INLINE void | genericDispatch (void) const |
| Dispatches the DeferredMemberCaller, ignoring the return value. More...
|
|
EASYDELEGATE_INLINE bool | callsMethod (const MemberDelegateMethodPointer methodPointer) const noexcept |
| Returns whether or not this DeferredMemberCaller calls the given class member method. More...
|
|
template<typename otherClass , typename otherReturn , typename... otherParams> |
EASYDELEGATE_INLINE bool | callsMethod (const MemberMethodPointer< otherClass, otherReturn, otherParams...> methodPointer) const noexcept |
| Returns whether or not this DeferredMemberCaller calls the given class member method of a differing signature. More...
|
|
template<typename otherReturn , typename... otherParams> |
EASYDELEGATE_INLINE bool | callsMethod (const StaticMethodPointer< otherReturn, otherParams...> methodPointer) const noexcept |
| Returns whether or not this DeferredMemberCaller calls the given static method. More...
|
|
EASYDELEGATE_INLINE bool | hasSameMethodAs (const DeferredMemberCaller< classType, returnType, parameters...> *other) const noexcept |
| Returns whether or not this DeferredMemberCaller calls the same method as another DeferredMemberCaller. More...
|
|
template<typename otherClass , typename otherReturn , typename... otherParams> |
EASYDELEGATE_INLINE bool | hasSameMethodAs (const DeferredMemberCaller< otherClass, otherReturn, otherParams...> *other) const noexcept |
| Returns whether or not this DeferredMemberCaller calls the same method as another DeferredMemberCaller of a differing signature. More...
|
|
template<typename otherReturn , typename... otherParams> |
EASYDELEGATE_INLINE bool | hasSameMethodAs (const DeferredStaticCaller< otherReturn, otherParams...> *other) const noexcept |
| Returns whether or not this DeferredMemberCaller calls the same method as DeferredStaticCaller. More...
|
|
template<typename otherClass , typename otherReturn , typename... otherParams> |
EASYDELEGATE_INLINE bool | hasSameThisPointerAs (const DeferredMemberCaller< otherClass, otherReturn, otherParams...> *other) const noexcept |
| Returns whether or not this DeferredMemberCaller calls against the same this pointer as another. More...
|
|
template<typename otherReturn , typename... otherParams> |
EASYDELEGATE_INLINE bool | hasSameThisPointerAs (const DeferredStaticCaller< otherReturn, otherParams...> *other) const noexcept |
| Returns whether or not this DeferredMemberCaller calls against the same this pointer of the DeferredStaticCaller. More...
|
|
EASYDELEGATE_INLINE bool | hasThisPointer (const void *thisPointer) const noexcept |
| Returns whether or not this DeferredMemberCaller calls against the given this pointer. More...
|
|
template<typename classType, typename returnType, typename... parameters>
class EasyDelegate::DeferredMemberCaller< classType, returnType, parameters >
A deferred caller type for class member methods.
The DeferredMemberCaller class works by storing the information required to make a call against a class member method in its data structure when constructed. The parameters are stored in an std::tuple and are later unpacked when the DeferredMemberCaller is dispatched.
- Warning
- The DeferredMemberCaller is only valid while the given this pointer remains valid.
- Examples:
- example.cpp.
template<typename classType, typename returnType, typename... parameters>
Dispatches the DeferredMemberCaller.
This is equivalent to the invoke() method on all other delegate types except the parameters were cached at creation. Said cached parameters will be passed in automatically upon calling this, so it is completely safe to store.
- Returns
- Anything; it depends on the function signature defined in the template.
Implements EasyDelegate::ITypedDeferredCaller< returnType >.
template<typename classType, typename returnType, typename... parameters>