20 #ifndef GALOIS_WORKLIST_OWNERCOMPUTES_H
21 #define GALOIS_WORKLIST_OWNERCOMPUTES_H
23 #include "galois/config.h"
29 template <
typename OwnerFn = DummyIndexer<
int>,
30 typename Container = ChunkLIFO<>,
typename T =
int>
32 template <
typename _T>
40 template <
typename _container>
45 template <
typename _indexer>
51 typedef typename Container::template
retype<T> lWLTy;
64 unsigned int index = Fn(val);
66 unsigned int mindex = tp.getSocket(index);
74 template <
typename ItTy>
75 void push(ItTy b, ItTy e) {
80 template <
typename RangeTy>
82 auto rp = range.local_pair();
83 push(rp.first, rp.second);
84 for (
unsigned int x = 0; x < pushBuffer.
size(); ++x)
94 while ((retval = p.pop()))
void push(ItTy b, ItTy e)
Definition: OwnerComputes.h:75
ThreadPool & getThreadPool(void)
return a reference to system thread pool
Definition: ThreadPool.cpp:259
void push(const value_type &val)
Definition: OwnerComputes.h:63
Definition: OwnerComputes.h:41
unsigned size() const
Definition: PerThreadStorage.h:243
void push_initial(const RangeTy &range)
Definition: OwnerComputes.h:81
OwnerComputes< _indexer, Container, T > type
Definition: OwnerComputes.h:47
Galois version of boost::optional.
Definition: optional.h:34
s_wl< T, Args...> wl(Args &&...args)
Definition: Traits.h:219
T * getLocal()
Definition: PerThreadStorage.h:202
#define GALOIS_WLCOMPILECHECK(name)
Definition: WLCompileCheck.h:26
static unsigned getSocket()
Definition: ThreadPool.h:207
galois::optional< value_type > pop()
Definition: OwnerComputes.h:88
Definition: OwnerComputes.h:46
T * getRemote(unsigned int thread)
Definition: PerThreadStorage.h:223
T value_type
Definition: OwnerComputes.h:61
OwnerComputes< OwnerFn, _container, T > type
Definition: OwnerComputes.h:42
Definition: OwnerComputes.h:31