STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::runtime::mailbox Class Reference

Mailbox for multiple threads with arbitrary numbering. More...

Public Member Functions

template<typename Range >
 mailbox (Range const &r)
 
 mailbox (mailbox const &other)
 
size_type size (void) const noexcept
 
void push (const id i, message_ptr m)
 Pushes the request to slot i.
 
void push_any (message_ptr m)
 Pushes the request to any slot. More...
 
void push_all (const bool, message_ptr m)
 Pushes the request to all slots. More...
 
template<typename Range >
void push_range (Range const &r, const bool, message_ptr m)
 Pushes the request to the slots with ids in range r. More...
 
slot_typeget_slot (const id i) noexcept
 

Public Types

using id = location_id
 
using slot_type = request_queue
 
using size_type = std::size_t
 

Detailed Description

Mailbox for multiple threads with arbitrary numbering.

It is a data structure that keeps requests that go to each thread and offers the ability to place a request to multiple threads.

This implementation is based on an associative container and therefore can accept arbitrary indexing for the individual slots.

Member Function Documentation

◆ push_any()

void stapl::runtime::mailbox::push_any ( message_ptr  m)

Pushes the request to any slot.

◆ push_all()

void stapl::runtime::mailbox::push_all ( const bool  ,
message_ptr  m 
)

Pushes the request to all slots.

◆ push_range()

template<typename Range >
void stapl::runtime::mailbox::push_range ( Range const &  r,
const bool  ,
message_ptr  m 
)

Pushes the request to the slots with ids in range r.


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