Grappa  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master Struct Reference

#include <GlobalVector.hpp>

Public Member Functions

bool has_requests ()
 
void clear ()
 
 Master ()
 
 ~Master ()
 

Static Public Member Functions

static void master_combine (GlobalAddress< GlobalVector > self)
 
template<typename Q , typename F >
static auto request (GlobalAddress< GlobalVector > self, Q yield_q, F func) -> decltype(func())
 
static void push (GlobalAddress< GlobalVector > self, T *buffer, int64_t npush)
 
static void pop (GlobalAddress< GlobalVector > self, T *buffer, int64_t npop)
 
static void dequeue (GlobalAddress< GlobalVector > self, T *buffer, int64_t ndeq)
 

Public Attributes

size_t head
 
size_t head_allocator
 
size_t tail
 
size_t tail_allocator
 
size_t size
 
bool combining
 
CompletionEvent ce
 
SuspendedDelegateQueue push_q
 
SuspendedDelegateQueue pop_q
 
SuspendedDelegateQueue deq_q
 

Detailed Description

template<typename T, int BUFFER_CAPACITY = (1<<10)>
struct Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master

Definition at line 92 of file GlobalVector.hpp.

Constructor & Destructor Documentation

template<typename T , int BUFFER_CAPACITY = (1<<10)>
Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::Master ( )
inline

Definition at line 111 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::~Master ( )
inline

Definition at line 112 of file GlobalVector.hpp.

Member Function Documentation

template<typename T , int BUFFER_CAPACITY = (1<<10)>
void Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::clear ( )
inline

Definition at line 103 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
static void Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::dequeue ( GlobalAddress< GlobalVector self,
T *  buffer,
int64_t  ndeq 
)
inlinestatic

Definition at line 245 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
bool Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::has_requests ( )
inline

Definition at line 101 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
static void Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::master_combine ( GlobalAddress< GlobalVector self)
inlinestatic

Definition at line 114 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
static void Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::pop ( GlobalAddress< GlobalVector self,
T *  buffer,
int64_t  npop 
)
inlinestatic

Definition at line 229 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
static void Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::push ( GlobalAddress< GlobalVector self,
T *  buffer,
int64_t  npush 
)
inlinestatic

Definition at line 213 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
template<typename Q , typename F >
static auto Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::request ( GlobalAddress< GlobalVector self,
yield_q,
func 
) -> decltype(func())
inlinestatic

Definition at line 190 of file GlobalVector.hpp.

Member Data Documentation

template<typename T , int BUFFER_CAPACITY = (1<<10)>
CompletionEvent Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::ce

Definition at line 99 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
bool Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::combining

Definition at line 98 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
SuspendedDelegateQueue Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::deq_q

Definition at line 100 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
size_t Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::head

Definition at line 94 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
size_t Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::head_allocator

Definition at line 94 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
SuspendedDelegateQueue Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::pop_q

Definition at line 100 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
SuspendedDelegateQueue Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::push_q

Definition at line 100 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
size_t Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::size

Definition at line 96 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
size_t Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::tail

Definition at line 95 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
size_t Grappa::GlobalVector< T, BUFFER_CAPACITY >::Master::tail_allocator

Definition at line 95 of file GlobalVector.hpp.


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