34#include <Pt/Invokable.h>
46template <
typename R,
typename... As>
63 virtual R
call(As... args)
const = 0;
69 return this->
call(args...);
73 virtual void invoke(As... args)
const = 0;
An interface for all callable entities.
Definition Callable.h:48
virtual Callable * clone() const =0
Returns a copy of this instance.
virtual R call(As... args) const =0
Calls the callable entity and returns its result.
virtual void invoke(As... args) const =0
Invokes the invokable entity with the given arguments.
R operator()(As... args) const
Same as call().
Definition Callable.h:67
Interface for invokable entities.
Definition Invokable.h:57
Core module.
Definition Allocator.h:33