Galois
|
Low-overhead worklist when initial range is not invalidated by the operator. More...
#include <StableIterator.h>
Classes | |
struct | with_container |
struct | with_iterator |
struct | with_steal |
Public Types | |
typedef std::iterator_traits < Iterator >::value_type | value_type |
typedef Iterator | iterator |
template<typename _T > | |
using | retype = StableIterator< Steal, typename Container::template retype< _T >, Iterator > |
change the type the worklist holds More... | |
template<bool b> | |
using | rethread = StableIterator< Steal, typename Container::template rethread< b >, Iterator > |
Public Member Functions | |
template<typename RangeTy > | |
void | push_initial (const RangeTy &r) |
push initial range onto the queue called with the same b and e on each thread More... | |
galois::optional< value_type > | pop () |
pop a value from the queue. More... | |
void | push (const value_type &val) |
template<typename Iter > | |
void | push (Iter b, Iter e) |
Low-overhead worklist when initial range is not invalidated by the operator.
Steal | Try workstealing on initial ranges |
Container | Worklist to manage work enqueued by the operator |
Iterator | (inferred by library) |
typedef Iterator galois::worklists::StableIterator< Steal, Container, Iterator >::iterator |
using galois::worklists::StableIterator< Steal, Container, Iterator >::rethread = StableIterator<Steal, typename Container::template rethread<b>, Iterator> |
using galois::worklists::StableIterator< Steal, Container, Iterator >::retype = StableIterator<Steal, typename Container::template retype<_T>, Iterator> |
change the type the worklist holds
typedef std::iterator_traits<Iterator>::value_type galois::worklists::StableIterator< Steal, Container, Iterator >::value_type |
|
inline |
pop a value from the queue.
|
inline |
|
inline |
|
inline |
push initial range onto the queue called with the same b and e on each thread