|
YACLib
C++ library for concurrent tasks execution
|
#include <shared_future.hpp>
Public Types | |
| using | Result = typename T::template Result< V > |
| using | Handle = detail::SharedHandle |
| using | Core = detail::SharedCore< V, T > |
Public Member Functions | |
| SharedFutureBase ()=default | |
| bool | Valid () const noexcept |
| bool | Ready () const noexcept |
| Result | Get () &&noexcept |
| void | Get () const &&=delete |
| const Result & | Get () const &noexcept |
| Result | Touch () &&noexcept |
| void | Touch () const &&=delete |
| const Result & | 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, T > & | GetCore () noexcept |
| const detail::SharedCorePtr< V, T > & | GetCore () const noexcept |
| detail::SharedHandle | GetHandle () const noexcept |
Protected Member Functions | |
| SharedFutureBase (detail::SharedCorePtr< V, T > core) noexcept | |
Protected Attributes | |
| detail::SharedCorePtr< V, T > | _core |
Definition at line 14 of file shared_future.hpp.
| using yaclib::SharedFutureBase< V, T >::Core = detail::SharedCore<V, T> |
Definition at line 107 of file shared_future.hpp.
| using yaclib::SharedFutureBase< V, T >::Handle = detail::SharedHandle |
Definition at line 106 of file shared_future.hpp.
| using yaclib::SharedFutureBase< V, T >::Result = typename T::template Result<V> |
Definition at line 23 of file shared_future.hpp.
|
default |
|
inlineexplicitprotectednoexcept |
Definition at line 114 of file shared_future.hpp.
|
inlinenoexcept |
Definition at line 80 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core.
|
inlinenoexcept |
Definition at line 36 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core, yaclib::SharedFutureBase< V, T >::Valid(), yaclib::Wait(), and YACLIB_ASSERT.
|
delete |
|
inlinenoexcept |
Definition at line 48 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core, yaclib::SharedFutureBase< V, T >::Valid(), yaclib::Wait(), and YACLIB_ASSERT.
|
inlinenoexcept |
Definition at line 102 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core.
|
inlinenoexcept |
Definition at line 98 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core.
Referenced by yaclib::Split().
|
inlinenoexcept |
Definition at line 109 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core.
|
inlinenoexcept |
Definition at line 31 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core, yaclib::SharedFutureBase< V, T >::Valid(), and YACLIB_ASSERT.
Referenced by yaclib::SharedFutureBase< V, T >::Touch(), and yaclib::SharedFutureBase< V, T >::Touch().
|
inline |
Definition at line 91 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core, yaclib::IExecutor::Inline, yaclib::MakeContract(), and YACLIB_WARN.
|
inline |
Definition at line 85 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core, and yaclib::MakeContract().
|
inline |
Definition at line 73 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core, yaclib::IExecutor::Inline, yaclib::MakeContract(), and YACLIB_WARN.
|
inlinenoexcept |
Definition at line 54 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core, yaclib::SharedFutureBase< V, T >::Ready(), yaclib::SharedFutureBase< V, T >::Valid(), and YACLIB_ASSERT.
|
delete |
|
inlinenoexcept |
Definition at line 66 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core, yaclib::SharedFutureBase< V, T >::Ready(), yaclib::SharedFutureBase< V, T >::Valid(), and YACLIB_ASSERT.
|
inlinenoexcept |
Definition at line 27 of file shared_future.hpp.
References yaclib::SharedFutureBase< V, T >::_core.
Referenced by yaclib::SharedFutureBase< V, T >::Get(), yaclib::SharedFutureBase< V, T >::Get(), yaclib::SharedFutureBase< V, T >::Ready(), yaclib::SharedFutureBase< V, T >::Touch(), and yaclib::SharedFutureBase< V, T >::Touch().
|
protected |
Definition at line 117 of file shared_future.hpp.
Referenced by yaclib::SharedFutureBase< V, T >::Detach(), yaclib::SharedFutureBase< V, T >::Get(), yaclib::SharedFutureBase< V, T >::Get(), yaclib::SharedFutureBase< V, T >::GetCore(), yaclib::SharedFutureBase< V, T >::GetCore(), yaclib::SharedFutureBase< V, T >::GetHandle(), yaclib::SharedFutureBase< V, T >::Ready(), yaclib::SharedFutureBase< V, T >::Subscribe(), yaclib::SharedFutureBase< V, T >::SubscribeInline(), yaclib::SharedFutureBase< V, T >::Then(), yaclib::SharedFutureBase< V, T >::Touch(), yaclib::SharedFutureBase< V, T >::Touch(), and yaclib::SharedFutureBase< V, T >::Valid().