CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
edm::TrieNodeIter< T > Class Template Reference

#include <Trie.h>

Inheritance diagram for edm::TrieNodeIter< T >:

Public Types

typedef TrieNode< T > const node_base
 
typedef TrieNodeIter< Tself
 

Public Member Functions

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

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 71 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.

253  : m_node(0), m_label(0)
254  {}
unsigned char m_label
Definition: Trie.h:278
node_base * m_node
Definition: Trie.h:277
template<typename T>
edm::TrieNodeIter< T >::TrieNodeIter ( node_base p)
inlineexplicit

Definition at line 256 of file Trie.h.

257  : m_node(p ? p->subNode() : 0),
258  m_label(p ? p->subNodeLabel() : 0)
259  {}
unsigned char m_label
Definition: Trie.h:278
node_base * m_node
Definition: Trie.h:277

Member Function Documentation

template<typename T>
node_base& edm::TrieNodeIter< T >::dereference ( ) const
inlineprivate

Definition at line 275 of file Trie.h.

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

275 { return *m_node; }
node_base * m_node
Definition: Trie.h:277
template<typename T>
bool edm::TrieNodeIter< T >::equal ( self const &  other) const
inlineprivate

Definition at line 270 of file Trie.h.

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

271  {
272  return this->m_node == other.m_node;
273  }
node_base * m_node
Definition: Trie.h:277
template<typename T>
void edm::TrieNodeIter< T >::increment ( )
inlineprivate

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.

265  {
267  m_node = m_node->brother();
268  }
unsigned char m_label
Definition: Trie.h:278
const TrieNode< T > * brother() const
get brother (return 0x0 this node has no brother)
Definition: Trie.h:403
unsigned char brotherLabel() const
get brother label
Definition: Trie.h:441
node_base * m_node
Definition: Trie.h:277
template<typename T>
unsigned char edm::TrieNodeIter< T >::label ( ) const
inline

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