YACLib
C++ library for concurrent tasks execution
|
#include <core.hpp>
Public Member Functions | |
NoResultCore () noexcept | |
template<typename T > | |
void | Store (T &&) noexcept |
void | StoreCallback (InlineCore &callback) noexcept |
template<bool SymmetricTransfer> | |
Transfer< SymmetricTransfer > | SetResult () noexcept |
![]() | |
bool | Empty () const noexcept |
template<bool Shared> | |
void | TransferExecutorTo (BaseCore &callback) noexcept |
![]() | |
virtual InlineCore * | Here (InlineCore &caller) noexcept=0 |
![]() | |
virtual void | Drop () noexcept |
![]() | |
virtual void | Call () noexcept |
![]() | |
virtual void | IncRef () noexcept |
Increments reference counter. | |
virtual void | DecRef () noexcept |
Decrements reference counter. | |
virtual std::size_t | GetRef () noexcept |
virtual | ~IRef () noexcept=default |
Public Attributes | |
Callback | _self |
![]() | |
IExecutorPtr | _executor {NoRefTag{}, &MakeInline()} |
![]() | |
Node * | next = nullptr |
Additional Inherited Members | |
![]() | |
enum | State : std::uintptr_t { kEmpty = std::uintptr_t{0} , kResult = std::numeric_limits<std::uintptr_t>::max() } |
![]() | |
BaseCore (State state) noexcept | |
void | StoreCallbackImpl (InlineCore &callback) noexcept |
template<bool Shared> | |
bool | SetCallbackImpl (InlineCore &callback) noexcept |
bool | ResetImpl () noexcept |
template<bool SymmetricTransfer, bool Shared> | |
Transfer< SymmetricTransfer > | SetInlineImpl (InlineCore &callback) noexcept |
template<bool SymmetricTransfer, bool Shared> | |
Transfer< SymmetricTransfer > | SetResultImpl () noexcept |
![]() | |
yaclib_std::atomic_uintptr_t | _callback |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 26 of file core.hpp.
References yaclib::MakeContract(), and yaclib::detail::BaseCore::StoreCallbackImpl().