This is the object passed to the user's parallel loop. More...
#include <UserContext.h>
Public Member Functions | |
UserContext () | |
void | breakLoop () |
Signal break in parallel loop. | |
PerIterAllocTy & | getPerIterAlloc () |
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 |
This is the object passed to the user's parallel loop.
This provides the in-loop api.
typedef std::function<void(PushBufferTy&)> Galois::UserContext< T >::FastPushBack [protected] |
Reimplemented in Galois::Runtime::UserContextAccess< T >, and Galois::Runtime::UserContextAccess< value_type >.
typedef gdeque<T> Galois::UserContext< T >::PushBufferTy [protected] |
push stuff
Reimplemented in Galois::Runtime::UserContextAccess< T >, and Galois::Runtime::UserContextAccess< value_type >.
Galois::UserContext< T >::UserContext | ( | ) | [inline] |
PushBufferTy& Galois::UserContext< T >::__getPushBuffer | ( | ) | [inline, protected] |
void Galois::UserContext< T >::__resetAlloc | ( | ) | [inline, protected] |
void Galois::UserContext< T >::__resetPushBuffer | ( | ) | [inline, protected] |
void Galois::UserContext< T >::__setFastPushBack | ( | FastPushBack | f | ) | [inline, protected] |
void Galois::UserContext< T >::__setLocalState | ( | void * | p, | |
bool | used | |||
) | [inline, protected] |
void Galois::UserContext< T >::abort | ( | ) | [inline] |
Force the abort of this iteration.
void Galois::UserContext< T >::breakLoop | ( | ) | [inline] |
Signal break in parallel loop.
void* Galois::UserContext< T >::getLocalState | ( | bool & | used | ) | [inline] |
Store and retrieve local state for deterministic.
PerIterAllocTy& Galois::UserContext< T >::getPerIterAlloc | ( | ) | [inline] |
Acquire a per-iteration allocator.
void Galois::UserContext< T >::push | ( | Args &&... | args | ) | [inline] |
Push new work.
bool* Galois::UserContext< T >::didBreak [protected] |
FastPushBack Galois::UserContext< T >::fastPushBack [protected] |
const unsigned int Galois::UserContext< T >::fastPushBackLimit = 64 [static, protected] |
IterAllocBaseTy Galois::UserContext< T >::IterationAllocatorBase [protected] |
Allocator stuff.
void* Galois::UserContext< T >::localState [protected] |
bool Galois::UserContext< T >::localStateUsed [protected] |
PerIterAllocTy Galois::UserContext< T >::PerIterationAllocator [protected] |
PushBufferTy Galois::UserContext< T >::pushBuffer [protected] |