Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
galois::gslist_base< T, ChunkSize, Concurrent > Class Template Reference

#include <gslist.h>

Classes

struct  promise_to_dealloc
 Tag for methods that depend on user to deallocate memory, although gslist will destroy elements. More...
 

Public Types

typedef Block block_type
 External allocator must be able to allocate this type. More...
 
typedef T value_type
 
typedef
galois::TwoLevelIteratorA
< outer_iterator< Block >
, typename Block::iterator,
std::forward_iterator_tag,
GetBegin, GetEnd
iterator
 
typedef
galois::TwoLevelIteratorA
< outer_iterator< const Block >
, typename
Block::const_iterator,
std::forward_iterator_tag,
GetBegin, GetEnd
const_iterator
 

Public Member Functions

 gslist_base ()
 
 gslist_base (const gslist_base &)=delete
 
gslist_baseoperator= (const gslist_base &)=delete
 
 gslist_base (gslist_base &&other)
 
gslist_baseoperator= (gslist_base &&o)
 
 ~gslist_base ()
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
bool empty () const
 
value_typefront ()
 
const value_typefront () const
 
template<typename HeapTy , typename... Args, bool C = Concurrent>
auto emplace_front (HeapTy &heap, Args &&...args) -> typename std::enable_if<!C >::type
 
template<typename HeapTy , bool C = Concurrent>
auto push_front (HeapTy &heap, const value_type &v) -> typename std::enable_if< C >::type
 
template<typename HeapTy , typename ValueTy , bool C = Concurrent>
auto push_front (HeapTy &heap, ValueTy &&v) -> typename std::enable_if<!C >::type
 
template<typename HeapTy >
bool pop_front (HeapTy &heap)
 Returns true if something was popped. More...
 
bool pop_front (promise_to_dealloc)
 Returns true if something was popped. More...
 
template<typename HeapTy >
void clear (HeapTy &heap)
 
void clear (promise_to_dealloc)
 

Member Typedef Documentation

template<typename T , int ChunkSize, bool Concurrent>
typedef Block galois::gslist_base< T, ChunkSize, Concurrent >::block_type

External allocator must be able to allocate this type.

template<typename T , int ChunkSize, bool Concurrent>
typedef galois::TwoLevelIteratorA<outer_iterator<const Block>, typename Block::const_iterator, std::forward_iterator_tag, GetBegin, GetEnd> galois::gslist_base< T, ChunkSize, Concurrent >::const_iterator
template<typename T , int ChunkSize, bool Concurrent>
typedef galois::TwoLevelIteratorA<outer_iterator<Block>, typename Block::iterator, std::forward_iterator_tag, GetBegin, GetEnd> galois::gslist_base< T, ChunkSize, Concurrent >::iterator
template<typename T , int ChunkSize, bool Concurrent>
typedef T galois::gslist_base< T, ChunkSize, Concurrent >::value_type

Constructor & Destructor Documentation

template<typename T , int ChunkSize, bool Concurrent>
galois::gslist_base< T, ChunkSize, Concurrent >::gslist_base ( )
inline
template<typename T , int ChunkSize, bool Concurrent>
galois::gslist_base< T, ChunkSize, Concurrent >::gslist_base ( const gslist_base< T, ChunkSize, Concurrent > &  )
delete
template<typename T , int ChunkSize, bool Concurrent>
galois::gslist_base< T, ChunkSize, Concurrent >::gslist_base ( gslist_base< T, ChunkSize, Concurrent > &&  other)
inline
template<typename T , int ChunkSize, bool Concurrent>
galois::gslist_base< T, ChunkSize, Concurrent >::~gslist_base ( )
inline

Member Function Documentation

template<typename T , int ChunkSize, bool Concurrent>
iterator galois::gslist_base< T, ChunkSize, Concurrent >::begin ( )
inline
template<typename T , int ChunkSize, bool Concurrent>
const_iterator galois::gslist_base< T, ChunkSize, Concurrent >::begin ( ) const
inline
template<typename T , int ChunkSize, bool Concurrent>
template<typename HeapTy >
void galois::gslist_base< T, ChunkSize, Concurrent >::clear ( HeapTy &  heap)
inline
template<typename T , int ChunkSize, bool Concurrent>
void galois::gslist_base< T, ChunkSize, Concurrent >::clear ( promise_to_dealloc  )
inline
template<typename T , int ChunkSize, bool Concurrent>
template<typename HeapTy , typename... Args, bool C = Concurrent>
auto galois::gslist_base< T, ChunkSize, Concurrent >::emplace_front ( HeapTy &  heap,
Args &&...  args 
) -> typename std::enable_if<!C>::type
inline
template<typename T , int ChunkSize, bool Concurrent>
bool galois::gslist_base< T, ChunkSize, Concurrent >::empty ( ) const
inline
template<typename T , int ChunkSize, bool Concurrent>
iterator galois::gslist_base< T, ChunkSize, Concurrent >::end ( )
inline
template<typename T , int ChunkSize, bool Concurrent>
const_iterator galois::gslist_base< T, ChunkSize, Concurrent >::end ( ) const
inline
template<typename T , int ChunkSize, bool Concurrent>
value_type& galois::gslist_base< T, ChunkSize, Concurrent >::front ( )
inline
template<typename T , int ChunkSize, bool Concurrent>
const value_type& galois::gslist_base< T, ChunkSize, Concurrent >::front ( ) const
inline
template<typename T , int ChunkSize, bool Concurrent>
gslist_base& galois::gslist_base< T, ChunkSize, Concurrent >::operator= ( const gslist_base< T, ChunkSize, Concurrent > &  )
delete
template<typename T , int ChunkSize, bool Concurrent>
gslist_base& galois::gslist_base< T, ChunkSize, Concurrent >::operator= ( gslist_base< T, ChunkSize, Concurrent > &&  o)
inline
template<typename T , int ChunkSize, bool Concurrent>
template<typename HeapTy >
bool galois::gslist_base< T, ChunkSize, Concurrent >::pop_front ( HeapTy &  heap)
inline

Returns true if something was popped.

template<typename T , int ChunkSize, bool Concurrent>
bool galois::gslist_base< T, ChunkSize, Concurrent >::pop_front ( promise_to_dealloc  )
inline

Returns true if something was popped.

template<typename T , int ChunkSize, bool Concurrent>
template<typename HeapTy , bool C = Concurrent>
auto galois::gslist_base< T, ChunkSize, Concurrent >::push_front ( HeapTy &  heap,
const value_type v 
) -> typename std::enable_if<C>::type
inline
template<typename T , int ChunkSize, bool Concurrent>
template<typename HeapTy , typename ValueTy , bool C = Concurrent>
auto galois::gslist_base< T, ChunkSize, Concurrent >::push_front ( HeapTy &  heap,
ValueTy &&  v 
) -> typename std::enable_if<!C>::type
inline

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