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

Like std::deque but use Galois memory management functionality. More...

#include <gdeque.h>

Classes

struct  Block
 
struct  Iterator
 

Public Types

typedef Iterator< T > iterator
 
typedef Iterator< const T > const_iterator
 
typedef
boost::reverse_iterator
< iterator
reverse_iterator
 
typedef
boost::reverse_iterator
< const_iterator
const_reverse_iterator
 
typedef iterator::value_type value_type
 
typedef iterator::pointer pointer
 
typedef iterator::reference reference
 
typedef const_iterator::reference const_reference
 
typedef iterator::difference_type difference_type
 
typedef size_t size_type
 

Public Member Functions

 gdeque ()
 
 gdeque (gdeque &&o)
 
gdequeoperator= (gdeque &&o)
 
 gdeque (const gdeque &)=delete
 
gdequeoperator= (const gdeque &)=delete
 
 ~gdeque ()
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
size_t size () const
 
bool empty () const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void pop_back ()
 
void pop_front ()
 
void clear ()
 
template<typename... Args>
iterator emplace (iterator pos, Args &&...args)
 Invalidates pointers. More...
 
iterator erase (iterator pos)
 
template<typename... Args>
void emplace_back (Args &&...args)
 
template<typename ValueTy >
void push_back (ValueTy &&v)
 
template<typename... Args>
void emplace_front (Args &&...args)
 
template<typename ValueTy >
void push_front (ValueTy &&v)
 

Protected Attributes

Blockfirst
 

Detailed Description

template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
class galois::gdeque< T, ChunkSize, ContainerTy >

Like std::deque but use Galois memory management functionality.

Member Typedef Documentation

template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
typedef Iterator<const T> galois::gdeque< T, ChunkSize, ContainerTy >::const_iterator
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
typedef const_iterator::reference galois::gdeque< T, ChunkSize, ContainerTy >::const_reference
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
typedef boost::reverse_iterator<const_iterator> galois::gdeque< T, ChunkSize, ContainerTy >::const_reverse_iterator
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
typedef iterator::difference_type galois::gdeque< T, ChunkSize, ContainerTy >::difference_type
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
typedef Iterator<T> galois::gdeque< T, ChunkSize, ContainerTy >::iterator
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
typedef iterator::pointer galois::gdeque< T, ChunkSize, ContainerTy >::pointer
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
typedef iterator::reference galois::gdeque< T, ChunkSize, ContainerTy >::reference
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
typedef boost::reverse_iterator<iterator> galois::gdeque< T, ChunkSize, ContainerTy >::reverse_iterator
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
typedef size_t galois::gdeque< T, ChunkSize, ContainerTy >::size_type
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
typedef iterator::value_type galois::gdeque< T, ChunkSize, ContainerTy >::value_type

Constructor & Destructor Documentation

template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
galois::gdeque< T, ChunkSize, ContainerTy >::gdeque ( )
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
galois::gdeque< T, ChunkSize, ContainerTy >::gdeque ( gdeque< T, ChunkSize, ContainerTy > &&  o)
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
galois::gdeque< T, ChunkSize, ContainerTy >::gdeque ( const gdeque< T, ChunkSize, ContainerTy > &  )
delete
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
galois::gdeque< T, ChunkSize, ContainerTy >::~gdeque ( )
inline

Member Function Documentation

template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
reference galois::gdeque< T, ChunkSize, ContainerTy >::back ( )
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
const_reference galois::gdeque< T, ChunkSize, ContainerTy >::back ( ) const
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
iterator galois::gdeque< T, ChunkSize, ContainerTy >::begin ( )
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
const_iterator galois::gdeque< T, ChunkSize, ContainerTy >::begin ( ) const
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
void galois::gdeque< T, ChunkSize, ContainerTy >::clear ( )
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
template<typename... Args>
iterator galois::gdeque< T, ChunkSize, ContainerTy >::emplace ( iterator  pos,
Args &&...  args 
)
inline

Invalidates pointers.

template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
template<typename... Args>
void galois::gdeque< T, ChunkSize, ContainerTy >::emplace_back ( Args &&...  args)
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
template<typename... Args>
void galois::gdeque< T, ChunkSize, ContainerTy >::emplace_front ( Args &&...  args)
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
bool galois::gdeque< T, ChunkSize, ContainerTy >::empty ( ) const
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
iterator galois::gdeque< T, ChunkSize, ContainerTy >::end ( )
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
const_iterator galois::gdeque< T, ChunkSize, ContainerTy >::end ( ) const
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
iterator galois::gdeque< T, ChunkSize, ContainerTy >::erase ( iterator  pos)
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
reference galois::gdeque< T, ChunkSize, ContainerTy >::front ( )
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
const_reference galois::gdeque< T, ChunkSize, ContainerTy >::front ( ) const
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
gdeque& galois::gdeque< T, ChunkSize, ContainerTy >::operator= ( gdeque< T, ChunkSize, ContainerTy > &&  o)
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
gdeque& galois::gdeque< T, ChunkSize, ContainerTy >::operator= ( const gdeque< T, ChunkSize, ContainerTy > &  )
delete
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
void galois::gdeque< T, ChunkSize, ContainerTy >::pop_back ( )
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
void galois::gdeque< T, ChunkSize, ContainerTy >::pop_front ( )
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
template<typename ValueTy >
void galois::gdeque< T, ChunkSize, ContainerTy >::push_back ( ValueTy &&  v)
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
template<typename ValueTy >
void galois::gdeque< T, ChunkSize, ContainerTy >::push_front ( ValueTy &&  v)
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
reverse_iterator galois::gdeque< T, ChunkSize, ContainerTy >::rbegin ( )
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
const_reverse_iterator galois::gdeque< T, ChunkSize, ContainerTy >::rbegin ( ) const
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
reverse_iterator galois::gdeque< T, ChunkSize, ContainerTy >::rend ( )
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
const_reverse_iterator galois::gdeque< T, ChunkSize, ContainerTy >::rend ( ) const
inline
template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
size_t galois::gdeque< T, ChunkSize, ContainerTy >::size ( ) const
inline

Member Data Documentation

template<typename T, unsigned ChunkSize = 64, typename ContainerTy = FixedSizeRing<T, ChunkSize>>
Block* galois::gdeque< T, ChunkSize, ContainerTy >::first
protected

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