CMS 3D CMS Logo

edm::TrieNodeIter< T > Class Template Reference

#include <DataFormats/Common/interface/Trie.h>

List of all members.

Public Types

typedef TrieNode< T > const node_base
typedef TrieNodeIter< T > self

Public Member Functions

unsigned char label () const
 TrieNodeIter (node_base *p)
 TrieNodeIter ()

Private Member Functions

node_basedereference () const
bool equal (self const &other) const
void increment ()

Private Attributes

unsigned char m_label
node_basem_node

Friends

class boost::iterator_core_access


Detailed Description

template<typename T>
class edm::TrieNodeIter< T >

Definition at line 243 of file Trie.h.


Member Typedef Documentation

template<typename T>
typedef TrieNode<T> const edm::TrieNodeIter< T >::node_base

Definition at line 251 of file Trie.h.

template<typename T>
typedef TrieNodeIter<T> edm::TrieNodeIter< T >::self

Definition at line 250 of file Trie.h.


Constructor & Destructor Documentation

template<typename T>
edm::TrieNodeIter< T >::TrieNodeIter (  )  [inline]

Definition at line 252 of file Trie.h.

00253       : m_node(0), m_label(0)
00254     {}

template<typename T>
edm::TrieNodeIter< T >::TrieNodeIter ( node_base p  )  [inline, explicit]

Definition at line 256 of file Trie.h.

00257       : m_node(p ? p->subNode() : 0), 
00258         m_label(p ? p->subNodeLabel() : 0)
00259     {}


Member Function Documentation

template<typename T>
node_base& edm::TrieNodeIter< T >::dereference (  )  const [inline, private]

Definition at line 275 of file Trie.h.

References edm::TrieNodeIter< T >::m_node.

00275 { return *m_node; }

template<typename T>
bool edm::TrieNodeIter< T >::equal ( self const &  other  )  const [inline, private]

Definition at line 270 of file Trie.h.

References edm::TrieNodeIter< T >::m_node.

00271     {
00272       return this->m_node == other.m_node;
00273     }

template<typename T>
void edm::TrieNodeIter< T >::increment (  )  [inline, private]

Definition at line 265 of file Trie.h.

References edm::TrieNode< T >::brother(), edm::TrieNode< T >::brotherLabel(), edm::TrieNodeIter< T >::m_label, and edm::TrieNodeIter< T >::m_node.

00265                      {
00266       m_label = m_node->brotherLabel();
00267       m_node = m_node->brother(); 
00268     }

template<typename T>
unsigned char edm::TrieNodeIter< T >::label (  )  const [inline]

Definition at line 261 of file Trie.h.

References edm::TrieNodeIter< T >::m_label.

00261 { return m_label;}


Friends And Related Function Documentation

template<typename T>
friend class boost::iterator_core_access [friend]

Definition at line 263 of file Trie.h.


Member Data Documentation

template<typename T>
unsigned char edm::TrieNodeIter< T >::m_label [private]

Definition at line 278 of file Trie.h.

Referenced by edm::TrieNodeIter< T >::increment(), and edm::TrieNodeIter< T >::label().

template<typename T>
node_base* edm::TrieNodeIter< T >::m_node [private]

Definition at line 277 of file Trie.h.

Referenced by edm::TrieNodeIter< T >::dereference(), edm::TrieNodeIter< T >::equal(), and edm::TrieNodeIter< T >::increment().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:44:26 2009 for CMSSW by  doxygen 1.5.4