STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types | Protected Member Functions | Protected Attributes
stapl::runtime::futures_base< T > Class Template Referenceabstract

Provides a common base for asynchronously returned arrays of objects. More...

Public Member Functions

void set_owned (void) noexcept
 
bool is_owned (void) const noexcept
 
virtual size_type size (void) const =0
 
virtual T get (const size_type)=0
 
virtual aggregate_result_type get (void)=0
 
virtual bool valid (const size_type) const =0
 
virtual bool valid (void) const =0
 
virtual void wait (const size_type) const =0
 
virtual void wait (void) const =0
 
template<typename Function >
void async_then (Function &&f)
 

Public Types

using value_type = T
 
using size_type = std::size_t
 
using aggregate_result_type = typename std::conditional< std::is_void< T >::value, void, std::vector< T > >::type
 

Protected Member Functions

virtual bool valid_no_yield (void) const noexcept=0
 Returns true if the result has been received.
 
void schedule_continuation (void)
 Schedules a continuation if async_then() was called.
 

Protected Attributes

std::mutex m_mtx
 

Detailed Description

template<typename T>
class stapl::runtime::futures_base< T >

Provides a common base for asynchronously returned arrays of objects.

Template Parameters
TObject type.

Continuations created through async_then() execute in a new context in the next nesting level than the context they are created in. When reused, the context of the continuation remains the same between invocations.

See also
futures

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