|
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