34 #include <Pt/Invokable.h>
46 template <
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;
Core module.
Definition: Allocator.h:33
An interface for all callable entities.
Definition: Callable.h:48
Interface for invokable entities.
Definition: Invokable.h:57
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
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.