Grappa  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
< GlobalVector
create (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 90 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 349 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 351 of file GlobalVector.hpp.

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

Definition at line 358 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 451 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 280 of file GlobalVector.hpp.

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

Definition at line 456 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 360 of file GlobalVector.hpp.

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

Definition at line 425 of file GlobalVector.hpp.

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

Definition at line 370 of file GlobalVector.hpp.

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

Definition at line 448 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 454 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 423 of file GlobalVector.hpp.

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

Definition at line 464 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 267 of file GlobalVector.hpp.

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

Definition at line 400 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 378 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 444 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 461 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 475 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 340 of file GlobalVector.hpp.

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

Definition at line 341 of file GlobalVector.hpp.

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

Definition at line 345 of file GlobalVector.hpp.

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

Definition at line 346 of file GlobalVector.hpp.

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

Definition at line 343 of file GlobalVector.hpp.


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