Grappa  r3821, hash 22cd626d567a91ead5b23302066d1e9469f45c66
Grappa::GlobalVector< T, BUFFER_CAPACITY > Class Template Reference

#include <GlobalVector.hpp>

Classes

struct  Master
 
struct  Proxy
 
struct  Range
 

Public Member Functions

void incr_with_wrap (size_t *i, long incr)
 
template<typename Cache >
void cache_with_wraparound (size_t start, size_t nelem, T *buffer)
 
 GlobalVector ()
 
 GlobalVector (GlobalAddress< GlobalVector > self, GlobalAddress< T > storage_base, size_t total_capacity)
 
 ~GlobalVector ()
 
void destroy ()
 
void push (const T &e)
 Push element on the back (queue or stack) More...
 
pop ()
 
void enqueue (const T &e)
 
dequeue ()
 
size_t size () const
 Return number of elements currently in vector. More...
 
bool empty () const
 
GlobalAddress< T > begin () const
 Return a Linear GlobalAddress to the first element of the vector. More...
 
GlobalAddress< T > end () const
 Return a Linear GlobalAddress to the end of the vector, that is, one past the last element. More...
 
void clear ()
 
GlobalAddress< T > storage () const
 
Range getMasterRange ()
 

Static Public Member Functions

static GlobalAddress< GlobalVectorcreate (size_t total_capacity)
 

Public Attributes

GlobalAddress< T > base
 
size_t capacity
 

Protected Attributes

GlobalAddress< GlobalVectorself
 
Master master
 
FlatCombiner< Proxyproxy
 

Friends

template<GlobalCompletionEvent * C = &impl::local_gce, int64_t Threshold = impl::USE_LOOP_THRESHOLD_FLAG, typename F = nullptr_t>
void forall (GlobalAddress< GlobalVector > self, F func)
 

Detailed Description

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

Definition at line 101 of file GlobalVector.hpp.

Constructor & Destructor Documentation

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

Definition at line 360 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
Grappa::GlobalVector< T, BUFFER_CAPACITY >::GlobalVector ( GlobalAddress< GlobalVector< T, BUFFER_CAPACITY > >  self,
GlobalAddress< T >  storage_base,
size_t  total_capacity 
)
inline

Definition at line 362 of file GlobalVector.hpp.

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

Definition at line 369 of file GlobalVector.hpp.

Member Function Documentation

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

Return a Linear GlobalAddress to the first element of the vector.

Definition at line 462 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
template<typename Cache >
void Grappa::GlobalVector< T, BUFFER_CAPACITY >::cache_with_wraparound ( size_t  start,
size_t  nelem,
T *  buffer 
)
inline

Definition at line 291 of file GlobalVector.hpp.

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

Definition at line 467 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
static GlobalAddress<GlobalVector> Grappa::GlobalVector< T, BUFFER_CAPACITY >::create ( size_t  total_capacity)
inlinestatic

Definition at line 371 of file GlobalVector.hpp.

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

Definition at line 436 of file GlobalVector.hpp.

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

Definition at line 381 of file GlobalVector.hpp.

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

Definition at line 459 of file GlobalVector.hpp.

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

Return a Linear GlobalAddress to the end of the vector, that is, one past the last element.

Definition at line 465 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
void Grappa::GlobalVector< T, BUFFER_CAPACITY >::enqueue ( const T &  e)
inline

Definition at line 434 of file GlobalVector.hpp.

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

Definition at line 475 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
void Grappa::GlobalVector< T, BUFFER_CAPACITY >::incr_with_wrap ( size_t *  i,
long  incr 
)
inline

Definition at line 278 of file GlobalVector.hpp.

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

Definition at line 411 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
void Grappa::GlobalVector< T, BUFFER_CAPACITY >::push ( const T &  e)
inline

Push element on the back (queue or stack)

Definition at line 389 of file GlobalVector.hpp.

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

Return number of elements currently in vector.

Definition at line 455 of file GlobalVector.hpp.

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

Definition at line 472 of file GlobalVector.hpp.

Friends And Related Function Documentation

template<typename T , int BUFFER_CAPACITY = (1<<10)>
template<GlobalCompletionEvent * C = &impl::local_gce, int64_t Threshold = impl::USE_LOOP_THRESHOLD_FLAG, typename F = nullptr_t>
void forall ( GlobalAddress< GlobalVector< T, BUFFER_CAPACITY > >  self,
func 
)
friend

Definition at line 486 of file GlobalVector.hpp.

Member Data Documentation

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

Definition at line 351 of file GlobalVector.hpp.

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

Definition at line 352 of file GlobalVector.hpp.

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

Definition at line 356 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
FlatCombiner<Proxy> Grappa::GlobalVector< T, BUFFER_CAPACITY >::proxy
protected

Definition at line 357 of file GlobalVector.hpp.

template<typename T , int BUFFER_CAPACITY = (1<<10)>
GlobalAddress<GlobalVector> Grappa::GlobalVector< T, BUFFER_CAPACITY >::self
protected

Definition at line 354 of file GlobalVector.hpp.


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