Om
Classes | Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
Om::List< ThisValue > Class Template Reference

A doubly-linked list in which nodes are unowned. More...

#include "list.hpp"

Classes

class  Node
 A List node. More...
 

Public Types

enum  NodeIndex {
  theFrontNodeIndex,
  theBackNodeIndex
}
 

Public Member Functions

 List ()
 
void Clear ()
 
NodeGetNode (NodeIndex const)
 Gets the first or last Node. More...
 
Node const * GetNode (NodeIndex const) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
bool IsEmpty () const
 
void LinkNode (NodeIndex const, Node &)
 Links the Node to the specified end. More...
 
void RelinkNode (NodeIndex const, Node &)
 Relinks the Node to the specified end. More...
 
void Swap (List &)
 
NodeUnlinkNode (NodeIndex const)
 Unlinks the Node at the specified end and returns it. More...
 

Private Types

typedef boost::array< Node *, 2 > NodeArray
 

Private Attributes

NodeArray thisNodeArray
 The first and last Node; both are null if the list is empty. More...
 

Detailed Description

template<typename ThisValue>
class Om::List< ThisValue >

Definition at line 35 of file list.hpp.

Member Typedef Documentation

◆ NodeArray

template<typename ThisValue>
typedef boost::array< Node *, 2 > Om::List< ThisValue >::NodeArray
private

Definition at line 97 of file list.hpp.

Member Enumeration Documentation

◆ NodeIndex

template<typename ThisValue>
enum Om::List::NodeIndex
Enumerator
theFrontNodeIndex 
theBackNodeIndex 

Definition at line 39 of file list.hpp.

Constructor & Destructor Documentation

◆ List()

template<typename ThisValue>
Om::List< ThisValue >::List ( )

Member Function Documentation

◆ Clear()

template<typename ThisValue>
void Om::List< ThisValue >::Clear ( )

◆ GetNode() [1/2]

template<typename ThisValue>
Node* Om::List< ThisValue >::GetNode ( NodeIndex const  )

◆ GetNode() [2/2]

template<typename ThisValue>
Node const* Om::List< ThisValue >::GetNode ( NodeIndex const  ) const

◆ IsEmpty()

template<typename ThisValue>
bool Om::List< ThisValue >::IsEmpty ( ) const

◆ LinkNode()

template<typename ThisValue>
void Om::List< ThisValue >::LinkNode ( NodeIndex const  ,
Node  
)

◆ RelinkNode()

template<typename ThisValue>
void Om::List< ThisValue >::RelinkNode ( NodeIndex const  ,
Node  
)

◆ Swap()

template<typename ThisValue>
void Om::List< ThisValue >::Swap ( List< ThisValue > &  )

◆ UnlinkNode()

template<typename ThisValue>
Node* Om::List< ThisValue >::UnlinkNode ( NodeIndex const  )

Member Data Documentation

◆ thisNodeArray

template<typename ThisValue>
NodeArray Om::List< ThisValue >::thisNodeArray
private

Definition at line 105 of file list.hpp.


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