9#include <Pt/Invokable.h>
21template <
typename R,
typename... As>
38 virtual R
call(As... args)
const = 0;
44 return this->
call(args...);
48 virtual void invoke(As... args)
const = 0;
An interface for all callable entities.
Definition Callable.h:23
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:42
Interface for invokable entities.
Definition Invokable.h:57
Core module.
Definition Allocator.h:33