YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
yaclib::SharedFutureBase< V, E > Class Template Reference

#include <shared_future.hpp>

Inheritance diagram for yaclib::SharedFutureBase< V, E >:
[legend]
Collaboration diagram for yaclib::SharedFutureBase< V, E >:
[legend]

Public Types

using Handle = detail::SharedHandle
 

Public Member Functions

 SharedFutureBase ()=default
 
bool Valid () const noexcept
 
bool Ready () const noexcept
 
Result< V, EGet () &&noexcept
 
void Get () const &&=delete
 
const Result< V, E > & Get () const &noexcept
 
Result< V, ETouch () &&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
 

Detailed Description

template<typename V, typename E>
class yaclib::SharedFutureBase< V, E >

Definition at line 14 of file shared_future.hpp.

Member Typedef Documentation

◆ Handle

Definition at line 104 of file shared_future.hpp.

Constructor & Destructor Documentation

◆ SharedFutureBase() [1/2]

template<typename V , typename E >
yaclib::SharedFutureBase< V, E >::SharedFutureBase ( )
default

◆ SharedFutureBase() [2/2]

template<typename V , typename E >
yaclib::SharedFutureBase< V, E >::SharedFutureBase ( detail::SharedCorePtr< V, E core)
inlineexplicitprotectednoexcept

Definition at line 111 of file shared_future.hpp.

Member Function Documentation

◆ Detach()

template<typename V , typename E >
void yaclib::SharedFutureBase< V, E >::Detach ( ) &&
inlinenoexcept

Definition at line 78 of file shared_future.hpp.

References yaclib::SharedFutureBase< V, E >::_core.

◆ Get() [1/3]

◆ Get() [2/3]

template<typename V , typename E >
void yaclib::SharedFutureBase< V, E >::Get ( ) const &&
delete

◆ Get() [3/3]

template<typename V , typename E >
const Result< V, E > & yaclib::SharedFutureBase< V, E >::Get ( ) const &
inlinenoexcept

◆ GetCore() [1/2]

template<typename V , typename E >
const detail::SharedCorePtr< V, E > & yaclib::SharedFutureBase< V, E >::GetCore ( ) const
inlinenoexcept

Definition at line 100 of file shared_future.hpp.

References yaclib::SharedFutureBase< V, E >::_core.

◆ GetCore() [2/2]

template<typename V , typename E >
detail::SharedCorePtr< V, E > & yaclib::SharedFutureBase< V, E >::GetCore ( )
inlinenoexcept

Definition at line 96 of file shared_future.hpp.

References yaclib::SharedFutureBase< V, E >::_core.

Referenced by yaclib::Split().

◆ GetHandle()

template<typename V , typename E >
detail::SharedHandle yaclib::SharedFutureBase< V, E >::GetHandle ( ) const
inlinenoexcept

Definition at line 106 of file shared_future.hpp.

References yaclib::SharedFutureBase< V, E >::_core.

◆ Ready()

◆ Subscribe()

template<typename V , typename E >
template<typename Func >
void yaclib::SharedFutureBase< V, E >::Subscribe ( IExecutor e,
Func &&  f 
) const
inline

◆ SubscribeInline()

template<typename V , typename E >
template<typename Func >
void yaclib::SharedFutureBase< V, E >::SubscribeInline ( Func &&  f) const
inline

◆ Then()

template<typename V , typename E >
template<typename Func >
auto yaclib::SharedFutureBase< V, E >::Then ( IExecutor e,
Func &&  f 
) const
inline

◆ Touch() [1/3]

◆ Touch() [2/3]

template<typename V , typename E >
void yaclib::SharedFutureBase< V, E >::Touch ( ) const &&
delete

◆ Touch() [3/3]

◆ Valid()

Member Data Documentation

◆ _core


The documentation for this class was generated from the following file: