Galois::gslist< T, ChunkSize > Class Template Reference

Singly linked list. More...

#include <gslist.h>

List of all members.

Classes

struct  Block
class  iterator

Public Types

typedef Block block_type
 External allocator must be able to allocate this type.
typedef T value_type

Public Member Functions

 gslist ()
 ~gslist ()
iterator begin () const
iterator end () const
bool empty () const
value_typefront ()
template<typename HeapTy >
void push_front (HeapTy &heap, const value_type &v)
template<typename HeapTy >
void pop_front (HeapTy &heap)
template<typename HeapTy >
void clear (HeapTy &heap)

Private Member Functions

template<typename HeapTy >
Blockalloc_block (HeapTy &heap)
template<typename HeapTy >
void free_block (HeapTy &heap, Block *b)
template<typename HeapTy >
void extend_first (HeapTy &heap)
template<typename HeapTy >
void shrink_first (HeapTy &heap)

Private Attributes

Blockfirst

Detailed Description

template<typename T, int ChunkSize = 16>
class Galois::gslist< T, ChunkSize >

Singly linked list.

To conserve space, allocator is maintained external to the list.


Member Typedef Documentation

template<typename T , int ChunkSize = 16>
typedef Block Galois::gslist< T, ChunkSize >::block_type

External allocator must be able to allocate this type.

template<typename T , int ChunkSize = 16>
typedef T Galois::gslist< T, ChunkSize >::value_type

Constructor & Destructor Documentation

template<typename T , int ChunkSize = 16>
Galois::gslist< T, ChunkSize >::gslist (  )  [inline]
template<typename T , int ChunkSize = 16>
Galois::gslist< T, ChunkSize >::~gslist (  )  [inline]

Member Function Documentation

template<typename T , int ChunkSize = 16>
template<typename HeapTy >
Block* Galois::gslist< T, ChunkSize >::alloc_block ( HeapTy &  heap  )  [inline, private]
template<typename T , int ChunkSize = 16>
iterator Galois::gslist< T, ChunkSize >::begin (  )  const [inline]
template<typename T , int ChunkSize = 16>
template<typename HeapTy >
void Galois::gslist< T, ChunkSize >::clear ( HeapTy &  heap  )  [inline]
template<typename T , int ChunkSize = 16>
bool Galois::gslist< T, ChunkSize >::empty (  )  const [inline]
template<typename T , int ChunkSize = 16>
iterator Galois::gslist< T, ChunkSize >::end (  )  const [inline]
template<typename T , int ChunkSize = 16>
template<typename HeapTy >
void Galois::gslist< T, ChunkSize >::extend_first ( HeapTy &  heap  )  [inline, private]
template<typename T , int ChunkSize = 16>
template<typename HeapTy >
void Galois::gslist< T, ChunkSize >::free_block ( HeapTy &  heap,
Block b 
) [inline, private]
template<typename T , int ChunkSize = 16>
value_type& Galois::gslist< T, ChunkSize >::front (  )  [inline]
template<typename T , int ChunkSize = 16>
template<typename HeapTy >
void Galois::gslist< T, ChunkSize >::pop_front ( HeapTy &  heap  )  [inline]
template<typename T , int ChunkSize = 16>
template<typename HeapTy >
void Galois::gslist< T, ChunkSize >::push_front ( HeapTy &  heap,
const value_type v 
) [inline]
template<typename T , int ChunkSize = 16>
template<typename HeapTy >
void Galois::gslist< T, ChunkSize >::shrink_first ( HeapTy &  heap  )  [inline, private]

Member Data Documentation

template<typename T , int ChunkSize = 16>
Block* Galois::gslist< T, ChunkSize >::first [private]

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

Generated on 2 Nov 2013 for Galois by  doxygen 1.6.1