Galois::UserContext< T > Class Template Reference

This is the object passed to the user's parallel loop. More...

#include <UserContext.h>

Inheritance diagram for Galois::UserContext< T >:
Galois::Runtime::UserContextAccess< T >

List of all members.

Public Member Functions

 UserContext ()
void breakLoop ()
 Signal break in parallel loop.
PerIterAllocTygetPerIterAlloc ()
 Acquire a per-iteration allocator.
template<typename... Args>
void push (Args &&...args)
 Push new work.
void abort ()
 Force the abort of this iteration.
void * getLocalState (bool &used)
 Store and retrieve local state for deterministic.

Protected Types

typedef gdeque< T > PushBufferTy
 push stuff
typedef std::function< void(PushBufferTy &)> FastPushBack

Protected Member Functions

void __resetAlloc ()
PushBufferTy__getPushBuffer ()
void __resetPushBuffer ()
void __setLocalState (void *p, bool used)
void __setFastPushBack (FastPushBack f)

Protected Attributes

IterAllocBaseTy IterationAllocatorBase
 Allocator stuff.
PerIterAllocTy PerIterationAllocator
PushBufferTy pushBuffer
void * localState
bool localStateUsed
FastPushBack fastPushBack
bool * didBreak

Static Protected Attributes

static const unsigned int fastPushBackLimit = 64

Detailed Description

template<typename T>
class Galois::UserContext< T >

This is the object passed to the user's parallel loop.

This provides the in-loop api.


Member Typedef Documentation

template<typename T>
typedef std::function<void(PushBufferTy&)> Galois::UserContext< T >::FastPushBack [protected]
template<typename T>
typedef gdeque<T> Galois::UserContext< T >::PushBufferTy [protected]

Constructor & Destructor Documentation

template<typename T>
Galois::UserContext< T >::UserContext (  )  [inline]

Member Function Documentation

template<typename T>
PushBufferTy& Galois::UserContext< T >::__getPushBuffer (  )  [inline, protected]
template<typename T>
void Galois::UserContext< T >::__resetAlloc (  )  [inline, protected]
template<typename T>
void Galois::UserContext< T >::__resetPushBuffer (  )  [inline, protected]
template<typename T>
void Galois::UserContext< T >::__setFastPushBack ( FastPushBack  f  )  [inline, protected]
template<typename T>
void Galois::UserContext< T >::__setLocalState ( void *  p,
bool  used 
) [inline, protected]
template<typename T>
void Galois::UserContext< T >::abort (  )  [inline]

Force the abort of this iteration.

template<typename T>
void Galois::UserContext< T >::breakLoop (  )  [inline]

Signal break in parallel loop.

template<typename T>
void* Galois::UserContext< T >::getLocalState ( bool &  used  )  [inline]

Store and retrieve local state for deterministic.

template<typename T>
PerIterAllocTy& Galois::UserContext< T >::getPerIterAlloc (  )  [inline]

Acquire a per-iteration allocator.

template<typename T>
template<typename... Args>
void Galois::UserContext< T >::push ( Args &&...  args  )  [inline]

Push new work.


Member Data Documentation

template<typename T>
bool* Galois::UserContext< T >::didBreak [protected]
template<typename T>
FastPushBack Galois::UserContext< T >::fastPushBack [protected]
template<typename T>
const unsigned int Galois::UserContext< T >::fastPushBackLimit = 64 [static, protected]
template<typename T>
IterAllocBaseTy Galois::UserContext< T >::IterationAllocatorBase [protected]

Allocator stuff.

template<typename T>
void* Galois::UserContext< T >::localState [protected]
template<typename T>
bool Galois::UserContext< T >::localStateUsed [protected]
template<typename T>
PerIterAllocTy Galois::UserContext< T >::PerIterationAllocator [protected]
template<typename T>
PushBufferTy Galois::UserContext< T >::pushBuffer [protected]

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

Generated on 2 Nov 2013 for Galois by  doxygen 1.6.1