35#ifndef _EXECUTOR_EXECUTABLE_HXX_
36#define _EXECUTOR_EXECUTABLE_HXX_
51 virtual void run() = 0;
57 HASSERT(0 &&
"unexpected call to notify in Executable");
65 HASSERT(0 &&
"unexpected call to alloc_result");
77 :
body_(std::move(body))
A notifiable class that calls a particular function object once when it is invoked,...
void run() override
Calls the notification method.
std::function< void()> body_
Function object (callback) to call.
CallbackExecutable(std::function< void()> &&body)
Constructor.
An object that can be scheduled on an executor to run.
virtual void run()=0
Entry point.
virtual void alloc_result(QMember *item)
Return the result of an alloc_async() from a memory Pool.
void notify() override
Crashes the program – everyone who is expecting notify calls must override this function.
An object that can schedule itself on an executor to run.
Essentially a "next" pointer container.
#define HASSERT(x)
Checks that the value of expression x is true, else terminates the current process.