YACLib
C++ library for concurrent tasks execution
|
#include <shared_future.hpp>
Public Types | |
using | Handle = detail::SharedHandle |
Public Member Functions | |
SharedFutureBase ()=default | |
bool | Valid () const noexcept |
bool | Ready () const noexcept |
Result< V, E > | Get () &&noexcept |
void | Get () const &&=delete |
const Result< V, E > & | Get () const &noexcept |
Result< V, E > | Touch () &&noexcept |
void | Touch () const &&=delete |
const Result< V, E > & | Touch () const &noexcept |
template<typename Func > | |
auto | Then (IExecutor &e, Func &&f) const |
void | Detach () &&noexcept |
template<typename Func > | |
void | SubscribeInline (Func &&f) const |
template<typename Func > | |
void | Subscribe (IExecutor &e, Func &&f) const |
detail::SharedCorePtr< V, E > & | GetCore () noexcept |
const detail::SharedCorePtr< V, E > & | GetCore () const noexcept |
detail::SharedHandle | GetHandle () const noexcept |
Protected Member Functions | |
SharedFutureBase (detail::SharedCorePtr< V, E > core) noexcept | |
Protected Attributes | |
detail::SharedCorePtr< V, E > | _core |
Definition at line 14 of file shared_future.hpp.
using yaclib::SharedFutureBase< V, E >::Handle = detail::SharedHandle |
Definition at line 104 of file shared_future.hpp.
|
default |
|
inlineexplicitprotectednoexcept |
Definition at line 111 of file shared_future.hpp.
|
inlinenoexcept |
Definition at line 78 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core.
|
inlinenoexcept |
Definition at line 34 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core, yaclib::SharedFutureBase< V, E >::Valid(), yaclib::Wait(), and YACLIB_ASSERT.
|
inlinenoexcept |
Definition at line 46 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core, yaclib::SharedFutureBase< V, E >::Valid(), yaclib::Wait(), and YACLIB_ASSERT.
|
inlinenoexcept |
Definition at line 100 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core.
|
inlinenoexcept |
Definition at line 96 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core.
Referenced by yaclib::Split().
|
inlinenoexcept |
Definition at line 106 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core.
|
inlinenoexcept |
Definition at line 29 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core, yaclib::SharedFutureBase< V, E >::Valid(), and YACLIB_ASSERT.
Referenced by yaclib::SharedFutureBase< V, E >::Touch(), and yaclib::SharedFutureBase< V, E >::Touch().
|
inline |
Definition at line 89 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core, yaclib::IExecutor::Inline, yaclib::MakeContract(), and YACLIB_WARN.
|
inline |
Definition at line 83 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core, and yaclib::MakeContract().
|
inline |
Definition at line 71 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core, yaclib::IExecutor::Inline, yaclib::MakeContract(), and YACLIB_WARN.
|
inlinenoexcept |
Definition at line 52 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core, yaclib::SharedFutureBase< V, E >::Ready(), yaclib::SharedFutureBase< V, E >::Valid(), and YACLIB_ASSERT.
|
inlinenoexcept |
Definition at line 64 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core, yaclib::SharedFutureBase< V, E >::Ready(), yaclib::SharedFutureBase< V, E >::Valid(), and YACLIB_ASSERT.
|
inlinenoexcept |
Definition at line 25 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, E >::_core.
Referenced by yaclib::SharedFutureBase< V, E >::Get(), yaclib::SharedFutureBase< V, E >::Get(), yaclib::SharedFutureBase< V, E >::Ready(), yaclib::SharedFutureBase< V, E >::Touch(), and yaclib::SharedFutureBase< V, E >::Touch().
|
protected |
Definition at line 114 of file shared_future.hpp.
Referenced by yaclib::SharedFutureBase< V, E >::Detach(), yaclib::SharedFutureBase< V, E >::Get(), yaclib::SharedFutureBase< V, E >::Get(), yaclib::SharedFutureBase< V, E >::GetCore(), yaclib::SharedFutureBase< V, E >::GetCore(), yaclib::SharedFutureBase< V, E >::GetHandle(), yaclib::SharedFutureBase< V, E >::Ready(), yaclib::SharedFutureBase< V, E >::Subscribe(), yaclib::SharedFutureBase< V, E >::SubscribeInline(), yaclib::SharedFutureBase< V, E >::Then(), yaclib::SharedFutureBase< V, E >::Touch(), yaclib::SharedFutureBase< V, E >::Touch(), and yaclib::SharedFutureBase< V, E >::Valid().