this class represent the node of a trie, it contains a link to a sub node and a link to a brother (node which have the same father) More...
#include <Trie.h>
Public Types | |
typedef TrieNodeIter< T > | const_iterator |
Public Member Functions | |
void | addSubNode (unsigned char chr, TrieNode< T > *node) |
TrieNodeIter< T > | begin () const |
initialize subnode iterator (std conforming) More... | |
const TrieNode< T > * | brother () const |
get brother (return 0x0 this node has no brother) More... | |
TrieNode< T > * | brother () |
unsigned char | brotherLabel () const |
get brother label More... | |
void | clear () |
clear content of TrieNode More... | |
void | display (std::ostream &os, unsigned offset, unsigned char label) const |
display content of node in output stream More... | |
TrieNodeIter< T > | end () const |
mark end of iteration (std conforming) More... | |
void | setValue (const T &val) |
set value associed to node More... | |
const TrieNode< T > * | subNode () const |
TrieNode< T > * | subNode () |
const TrieNode< T > * | subNodeByLabel (unsigned char chr) const |
TrieNode< T > * | subNodeByLabel (unsigned char chr) |
unsigned char | subNodeLabel () const |
TrieNode () | |
const T & | value () const |
get value associed to node More... | |
~TrieNode () | |
Private Member Functions | |
void | _addBrother (unsigned char chr, TrieNode< T > *brother) |
add a new brother More... | |
const TrieNode< T > * | _getBrother (unsigned char chr) const |
TrieNode< T > * | _getBrother (unsigned char chr) |
template<typename Node > | |
Node | _sequentialSearch (Node first, unsigned char label, unsigned char val) const |
void | _setBrother (TrieNode< T > *brother, unsigned char brotherLabel) |
set brother (used by sort) More... | |
TrieNode & | operator= (const TrieNode &e) |
avoid affectation operator More... | |
TrieNode (const TrieNode &e) | |
avoid copy constructor More... | |
Private Attributes | |
TrieNode< T > * | _brother |
pointer to brother (node with same father as this one) More... | |
unsigned char | _brotherLabel |
character to go to brother (node with same father as this one) More... | |
TrieNode< T > * | _firstSubNode |
pointer to first sub node More... | |
unsigned char | _firstSubNodeLabel |
character to go to first subnode More... | |
T | _value |
value associed to this node More... | |
this class represent the node of a trie, it contains a link to a sub node and a link to a brother (node which have the same father)
typedef TrieNodeIter<T> edm::TrieNode< T >::const_iterator |
edm::TrieNode< T >::TrieNode | ( | ) |
we can not set _value here because type is unknown. assert that the value is set later with setValue()
Definition at line 366 of file Trie.h.
edm::TrieNode< T >::~TrieNode | ( | ) |
|
private |
avoid copy constructor
|
private |
add a new brother
Definition at line 430 of file Trie.h.
References edm::TrieNode< T >::_addBrother(), and edm::TrieNode< T >::_setBrother().
Referenced by edm::TrieNode< T >::_addBrother().
|
private |
@ brief get brother that has the label chr (return 0x0 if brother is not found)
Definition at line 417 of file Trie.h.
|
private |
@ brief get brother that has the label chr (return 0x0 if brother is not found)
Definition at line 424 of file Trie.h.
|
inlineprivate |
|
private |
set brother (used by sort)
Definition at line 506 of file Trie.h.
Referenced by edm::TrieNode< T >::_addBrother(), and edm::TrieNode< T >::addSubNode().
void edm::TrieNode< T >::addSubNode | ( | unsigned char | chr, |
TrieNode< T > * | node | ||
) |
Definition at line 480 of file Trie.h.
References edm::TrieNode< T >::_setBrother(), and python.Node::node.
Referenced by edm::Trie< T >::_addEntry().
edm::TrieNodeIter< T > edm::TrieNode< T >::begin | ( | void | ) | const |
const edm::TrieNode< T > * edm::TrieNode< T >::brother | ( | ) | const |
get brother (return 0x0 this node has no brother)
Definition at line 405 of file Trie.h.
Referenced by edm::TrieNodeIter< T >::increment().
edm::TrieNode< T > * edm::TrieNode< T >::brother | ( | ) |
Definition at line 411 of file Trie.h.
unsigned char edm::TrieNode< T >::brotherLabel | ( | ) | const |
get brother label
Definition at line 443 of file Trie.h.
Referenced by edm::TrieNodeIter< T >::increment().
void edm::TrieNode< T >::clear | ( | void | ) |
clear content of TrieNode
Definition at line 528 of file Trie.h.
Referenced by Vispa.Views.WidgetView.WidgetView::closeEvent(), Vispa.Views.BoxDecayView.BoxDecayView::closeEvent(), Vispa.Share.FindAlgorithm.FindAlgorithm::findUsingFindDialog(), edm::TrieFactory< T >::newNode(), Vispa.Views.LineDecayView.LineDecayView::setDataObjects(), Vispa.Views.WidgetView.WidgetView::setDataObjects(), BeautifulSoup.Tag::setString(), Vispa.Views.TreeView.TreeView::updateContent(), Vispa.Views.TableView.TableView::updateContent(), Vispa.Views.BoxDecayView.BoxDecayView::updateContent(), and Vispa.Views.PropertyView.PropertyView::updateContent().
void edm::TrieNode< T >::display | ( | std::ostream & | os, |
unsigned | offset, | ||
unsigned char | label | ||
) | const |
display content of node in output stream
Definition at line 513 of file Trie.h.
References i, and evf::evtn::offset().
edm::TrieNodeIter< T > edm::TrieNode< T >::end | ( | void | ) | const |
mark end of iteration (std conforming)
Definition at line 388 of file Trie.h.
Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().
|
private |
avoid affectation operator
void edm::TrieNode< T >::setValue | ( | const T & | val | ) |
set value associed to node
Definition at line 393 of file Trie.h.
Referenced by Vispa.Views.PropertyView.StringProperty::buttonClicked(), Vispa.Views.PropertyView.FileProperty::buttonClicked(), Vispa.Views.PropertyView.FileVectorProperty::buttonClicked(), edm::Trie< T >::insert(), Vispa.Views.PropertyView.TextEditWithButtonProperty::keyPressEvent(), edm::TrieFactory< T >::newNode(), edm::Trie< T >::setEntry(), and Vispa.Views.PropertyView.TextEditWithButtonProperty::setMultiline().
const edm::TrieNode< T > * edm::TrieNode< T >::subNode | ( | ) | const |
Definition at line 449 of file Trie.h.
edm::TrieNode< T > * edm::TrieNode< T >::subNode | ( | ) |
Definition at line 455 of file Trie.h.
const edm::TrieNode< T > * edm::TrieNode< T >::subNodeByLabel | ( | unsigned char | chr | ) | const |
Definition at line 467 of file Trie.h.
References edm::first().
Referenced by edm::Trie< T >::_addEntry(), edm::Trie< T >::find(), and edm::Trie< T >::node().
edm::TrieNode< T > * edm::TrieNode< T >::subNodeByLabel | ( | unsigned char | chr | ) |
Definition at line 474 of file Trie.h.
unsigned char edm::TrieNode< T >::subNodeLabel | ( | ) | const |
Definition at line 461 of file Trie.h.
const T & edm::TrieNode< T >::value | ( | ) | const |
get value associed to node
Definition at line 399 of file Trie.h.
Referenced by Types.int32::__nonzero__(), Types.uint32::__nonzero__(), Types.int64::__nonzero__(), Types.uint64::__nonzero__(), Types.double::__nonzero__(), Types.bool::__nonzero__(), Types.string::__nonzero__(), Vispa.Views.PropertyView.FileProperty::buttonClicked(), Types.string::configValue(), Types.FileInPath::configValue(), Mixins.UsingBlock::dumpPython(), edm::Trie< T >::find(), edm::Trie< T >::insert(), Types.int32::insertInto(), Types.uint32::insertInto(), Types.int64::insertInto(), Types.uint64::insertInto(), Mixins.UsingBlock::insertInto(), Types.double::insertInto(), Types.bool::insertInto(), Types.string::insertInto(), Types.FileInPath::insertInto(), Types.vint32::insertInto(), Types.vuint32::insertInto(), Types.vint64::insertInto(), Types.vuint64::insertInto(), Types.vdouble::insertInto(), Types.vbool::insertInto(), Types.vstring::insertInto(), and Vispa.Views.PropertyView.FileProperty::labelDoubleClicked().
|
private |
|
private |
|
private |
|
private |
|
private |
value associed to this node
Definition at line 160 of file Trie.h.
Referenced by Mixins._SimpleParameterTypeBase::__eq__(), Mixins._SimpleParameterTypeBase::__ne__(), Mixins._SimpleParameterTypeBase::configValue(), Mixins._SimpleParameterTypeBase::setValue(), and Mixins._SimpleParameterTypeBase::value().