YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
job.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <yaclib/log.hpp>
6
7namespace yaclib {
8
9/**
10 * Callable that can be executed in an IExecutor \see IExecutor
11 */
12class Job : public IFunc, public detail::Node {
13 public:
14 // Compiler inline this call in tests
15 virtual void Drop() noexcept { // LCOV_EXCL_LINE
16 YACLIB_PURE_VIRTUAL(); // LCOV_EXCL_LINE
17 } // LCOV_EXCL_LINE
18};
19
20} // namespace yaclib
Callable interface.
Definition func.hpp:13
Callable that can be executed in an IExecutor.
Definition job.hpp:12
virtual void Drop() noexcept
Definition job.hpp:15
#define YACLIB_PURE_VIRTUAL()
Definition log.hpp:86
Contract< V, E > MakeContract()
Creates related future and promise.
Definition contract.hpp:25
Node class, used in intrusive data structure.
Definition node.hpp:8