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::broadcast_object< T > Class Template Reference

Performs a broadcast over all locations of the current gang. More...

Public Member Functions

 broadcast_object (context &ctx)
 
rmi_handle::reference const & get_rmi_handle (void) noexcept
 
rmi_handle::const_reference const & get_rmi_handle (void) const noexcept
 
void operator() (T const &t)
 
void operator() (T &&t)
 
bool valid (void) const final
 Returns true if the result has been received.
 
void wait (void) const final
 Waits for the result to be received. More...
 
void wait (context &ctx) const
 Waits for the result to be received. More...
 
get (void) final
 Returns the received result. More...
 
get (context &ctx)
 Returns the received result. More...
 
void set_value (storage_type *const p, void *const base, message_shared_ptr &m)
 Sets the result. More...
 
void set_value (T const &value)
 Sets the result. More...
 
void set_value (T &&value)
 
void set_owned (void) noexcept
 
bool is_owned (void) const noexcept
 
template<typename Function >
void async_then (Function &&f)
 

Public Types

using value_type = T
 
typedef internal_storage_type::storage_type storage_type
 

Protected Member Functions

bool valid_no_yield (void) const noexcept final
 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::broadcast_object< T >

Performs a broadcast over all locations of the current gang.

Template Parameters
TObject type.

Member Function Documentation

◆ wait() [1/2]

void stapl::runtime::value_handle< T >::wait ( void  ) const
finalvirtualinherited

Waits for the result to be received.

Blocks until valid() const returns true.

Implements stapl::runtime::future_base< T >.

◆ wait() [2/2]

void stapl::runtime::value_handle< T >::wait ( context ctx) const
inherited

Waits for the result to be received.

Blocks until valid() const returns true.

◆ get() [1/2]

T stapl::runtime::value_handle< T >::get ( void  )
finalvirtualinherited

Returns the received result.

This function waits until the result has been received and returns it.

Calling valid() const returns false after a call to this function.

The lock ensures that set_value() has finished before the get() continues, to avoid calling schedule_continuation() on an object that has been destroyed.

Implements stapl::runtime::future_base< T >.

◆ get() [2/2]

T stapl::runtime::value_handle< T >::get ( context ctx)
inherited

Returns the received result.

This function waits until the result has been received and returns it.

Calling valid() const returns false after a call to this function.

The lock ensures that set_value() has finished before the get() continues, to avoid calling schedule_continuation() on an object that has been destroyed.

◆ set_value() [1/3]

void stapl::runtime::value_handle< T >::set_value ( storage_type *const  p,
void *const  base,
message_shared_ptr m 
)
inherited

Sets the result.

This function keeps a pointer to the buffer where the result remains packed until get() is called.

Parameters
pPointer to the stapl::runtime::arg_storage in the buffer.
baseAddress in the buffer that the stapl::runtime::arg_storage is stored in.
mBuffer that contains the stapl::runtime::arg_storage.
See also
arg_storage, message

◆ set_value() [2/3]

void stapl::runtime::value_handle< T >::set_value ( T const &  value)
inherited

Sets the result.

Parameters
valueValue to be set.

◆ set_value() [3/3]

void stapl::runtime::value_handle< T >::set_value ( T &&  value)
inherited


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