The Pedigree Project  0.1
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
List< T, nodePoolSize > Class Template Reference
+ Inheritance diagram for List< T, nodePoolSize >:
+ Collaboration diagram for List< T, nodePoolSize >:

Public Types

typedef ::Iterator< T, node_tIterator
 
typedef Iterator::Const ConstIterator
 
typedef Iterator::Reverse ReverseIterator
 
typedef Iterator::ConstReverse ConstReverseIterator
 

Public Member Functions

 List ()
 
 List (const List &x)
 
 ~List ()
 
Listoperator= (const List &x)
 
size_t size () const
 
size_t count () const
 
void pushBack (const T &value)
 
void pushBack (T &&value)
 
popBack ()
 
void pushFront (const T &value)
 
void pushFront (T &&value)
 
popFront ()
 
Iterator erase (Iterator &Iter)
 
ReverseIterator erase (ReverseIterator &Iter)
 
Iterator begin ()
 
ConstIterator begin () const
 
Iterator end ()
 
ConstIterator end () const
 
ReverseIterator rbegin ()
 
ConstReverseIterator rbegin () const
 
ReverseIterator rend ()
 
ConstReverseIterator rend () const
 
void clear ()
 
void assign (const List &x)
 

Private Types

typedef _ListNode_t< T > node_t
 

Private Attributes

size_t m_Count
 
node_tm_First
 
node_tm_Last
 
uint32_t m_Magic
 
ObjectPool< node_t, nodePoolSize > m_NodePool
 

Detailed Description

template<class T, size_t nodePoolSize = 16>
class List< T, nodePoolSize >

Definition at line 64 of file List.h.

Member Typedef Documentation

template<class T, size_t nodePoolSize = 16>
typedef Iterator::Const List< T, nodePoolSize >::ConstIterator

Type of the constant bidirectional iterator

Definition at line 73 of file List.h.

template<class T, size_t nodePoolSize = 16>
typedef Iterator::ConstReverse List< T, nodePoolSize >::ConstReverseIterator

Type of the constant reverse iterator

Definition at line 77 of file List.h.

template<class T, size_t nodePoolSize = 16>
typedef ::Iterator<T, node_t> List< T, nodePoolSize >::Iterator

Type of the bidirectional iterator

Definition at line 71 of file List.h.

template<class T, size_t nodePoolSize = 16>
typedef _ListNode_t<T> List< T, nodePoolSize >::node_t
private

The data structure of the list's nodes

Definition at line 67 of file List.h.

template<class T, size_t nodePoolSize = 16>
typedef Iterator::Reverse List< T, nodePoolSize >::ReverseIterator

Type of the reverse iterator

Definition at line 75 of file List.h.

Member Function Documentation

template<class T, size_t nodePoolSize = 16>
Iterator List< T, nodePoolSize >::begin ( )
inline
template<class T, size_t nodePoolSize = 16>
ConstIterator List< T, nodePoolSize >::begin ( ) const
inline

Get a constant iterator pointing to the beginning of the List

Returns
constant iterator pointing to the beginning of the List

Definition at line 129 of file List.h.

template<class T, size_t nodePoolSize = 16>
Iterator List< T, nodePoolSize >::end ( )
inline
template<class T, size_t nodePoolSize = 16>
ConstIterator List< T, nodePoolSize >::end ( ) const
inline

Get a constant iterator pointing to the end of the List + 1

Returns
constant iterator pointing to the end of the List + 1

Definition at line 141 of file List.h.

template<class T, size_t nodePoolSize = 16>
ReverseIterator List< T, nodePoolSize >::rbegin ( )
inline

Get an iterator pointing to the reverse beginning of the List

Returns
iterator pointing to the reverse beginning of the List

Definition at line 147 of file List.h.

template<class T, size_t nodePoolSize = 16>
ConstReverseIterator List< T, nodePoolSize >::rbegin ( ) const
inline

Get a constant iterator pointing to the reverse beginning of the List

Returns
constant iterator pointing to the reverse beginning of the List

Definition at line 153 of file List.h.

template<class T, size_t nodePoolSize = 16>
ReverseIterator List< T, nodePoolSize >::rend ( )
inline

Get an iterator pointing to the reverse end of the List + 1

Returns
iterator pointing to the reverse end of the List + 1

Definition at line 159 of file List.h.

template<class T, size_t nodePoolSize = 16>
ConstReverseIterator List< T, nodePoolSize >::rend ( ) const
inline

Get a constant iterator pointing to the reverse end of the List + 1

Returns
constant iterator pointing to the reverse end of the List + 1

Definition at line 165 of file List.h.

Member Data Documentation

template<class T, size_t nodePoolSize = 16>
size_t List< T, nodePoolSize >::m_Count
private
template<class T, size_t nodePoolSize = 16>
node_t* List< T, nodePoolSize >::m_First
private
template<class T, size_t nodePoolSize = 16>
node_t* List< T, nodePoolSize >::m_Last
private
template<class T, size_t nodePoolSize = 16>
ObjectPool<node_t, nodePoolSize> List< T, nodePoolSize >::m_NodePool
private

Pool of node objects (to reduce impact of lots of node allocs/deallocs).

Definition at line 188 of file List.h.

Referenced by List< T, nodePoolSize >::popBack(), List< T, nodePoolSize >::popFront(), List< T, nodePoolSize >::pushBack(), and List< T, nodePoolSize >::pushFront().


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