YACLib
C++ library for concurrent tasks execution
|
TODO(mkornaukhov03) Doxygen. More...
#include <manual.hpp>
Public Member Functions | |
Type | Tag () const noexcept final |
Return type of this executor. | |
bool | Alive () const noexcept final |
Return true if executor still alive, that means job passed to submit will be Call. | |
void | Submit (Job &f) noexcept final |
Submit given job. | |
std::size_t | Drain () noexcept |
Public Member Functions inherited from yaclib::IRef | |
virtual void | IncRef () noexcept |
Increments reference counter. | |
virtual void | DecRef () noexcept |
Decrements reference counter. | |
virtual | ~IRef () noexcept=default |
Additional Inherited Members | |
Public Types inherited from yaclib::IExecutor | |
enum class | Type : unsigned char { Custom = 0 , Inline = 1 , Manual = 2 , Strand = 3 , SingleThread = 4 , FairThreadPool = 5 , GolangThreadPool = 6 } |
TODO(mkornaukhov03) Doxygen.
Definition at line 14 of file manual.hpp.
|
finalvirtualnoexcept |
Return true if executor still alive, that means job passed to submit will be Call.
Implements yaclib::IExecutor.
Definition at line 10 of file manual.cpp.
|
noexcept |
Definition at line 18 of file manual.cpp.
References yaclib::detail::List::Empty(), yaclib::MakeContract(), and yaclib::detail::List::PopFront().
Submit given job.
This method may either Call or Drop the job
This method increments reference counter if task is submitted.
Call if executor is Alive, otherwise Drop
job | job to execute |
Implements yaclib::IExecutor.
Definition at line 14 of file manual.cpp.
References yaclib::MakeContract().
|
finalvirtualnoexcept |
Return type of this executor.
Implements yaclib::IExecutor.
Definition at line 6 of file manual.cpp.
References yaclib::IExecutor::Manual.