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
>
4
#include <
yaclib/util/detail/node.hpp
>
5
#include <
yaclib/util/func.hpp
>
6
7
namespace
yaclib
{
8
9
/**
10
* Callable that can be executed in an IExecutor \see IExecutor
11
*/
12
class
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
yaclib::IFunc
Callable interface.
Definition
func.hpp:13
yaclib::Job
Callable that can be executed in an IExecutor.
Definition
job.hpp:12
yaclib::Job::Drop
virtual void Drop() noexcept
Definition
job.hpp:15
func.hpp
log.hpp
YACLIB_PURE_VIRTUAL
#define YACLIB_PURE_VIRTUAL()
Definition
log.hpp:86
yaclib
Definition
base_core.hpp:18
yaclib::MakeContract
Contract< V, E > MakeContract()
Creates related future and promise.
Definition
contract.hpp:25
node.hpp
yaclib::detail::Node
Node class, used in intrusive data structure.
Definition
node.hpp:8
include
yaclib
exe
job.hpp
Generated by
1.9.8