virtual AbstractDelegate * clone() const = 0;
Returns a deep copy of the AbstractDelegate.
virtual void disable() = 0;
Disables the delegate, which is done prior to removal.
virtual bool equals(
const AbstractDelegate & other
) const = 0;
Compares the AbstractDelegate with the other one for equality.
virtual bool notify(
const void * sender,
TArgs & arguments
) = 0;
Invokes the delegate's callback function. Returns true if successful, or false if the delegate has been disabled or has expired.
virtual const AbstractDelegate * unwrap() const;
Returns the unwrapped delegate. Must be overridden by decorators like Expire.