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)=delete |
avoid affectation operator More... | |
TrieNode (const TrieNode &e)=delete | |
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 327 of file Trie.h.
edm::TrieNode< T >::~TrieNode | ( | ) |
|
privatedelete |
avoid copy constructor
|
private |
add a new brother
Definition at line 384 of file Trie.h.
References edm::TrieNode< T >::_brother, edm::TrieNode< T >::_brotherLabel, edm::TrieNode< T >::_setBrother(), and edm::TrieNode< T >::brother().
|
private |
@ brief get brother that has the label chr (return 0x0 if brother is not found)
Definition at line 373 of file Trie.h.
References edm::TrieNode< T >::_brother, edm::TrieNode< T >::_brotherLabel, edm::TrieNode< T >::_sequentialSearch(), and edm::TrieNode< T >::brother().
|
private |
@ brief get brother that has the label chr (return 0x0 if brother is not found)
Definition at line 379 of file Trie.h.
References edm::TrieNode< T >::_brother, edm::TrieNode< T >::_brotherLabel, and edm::TrieNode< T >::_sequentialSearch().
|
inlineprivate |
Definition at line 436 of file Trie.h.
References edm::first().
Referenced by edm::TrieNode< T >::_getBrother(), and edm::TrieNode< T >::subNodeByLabel().
|
private |
set brother (used by sort)
Definition at line 446 of file Trie.h.
References edm::TrieNode< T >::_brother, edm::TrieNode< T >::_brotherLabel, edm::TrieNode< T >::brother(), and edm::TrieNode< T >::brotherLabel().
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 425 of file Trie.h.
References edm::TrieNode< T >::_firstSubNode, edm::TrieNode< T >::_firstSubNodeLabel, and edm::TrieNode< T >::_setBrother().
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 363 of file Trie.h.
References edm::TrieNode< T >::_brother.
Referenced by edm::TrieNode< T >::_addBrother(), edm::TrieNode< T >::_getBrother(), and edm::TrieNode< T >::_setBrother().
edm::TrieNode< T > * edm::TrieNode< T >::brother | ( | ) |
Definition at line 368 of file Trie.h.
References edm::TrieNode< T >::_brother.
unsigned char edm::TrieNode< T >::brotherLabel | ( | ) | const |
get brother label
Definition at line 394 of file Trie.h.
References edm::TrieNode< T >::_brotherLabel.
Referenced by edm::TrieNode< T >::_setBrother().
void edm::TrieNode< T >::clear | ( | void | ) |
clear content of TrieNode
Definition at line 466 of file Trie.h.
References edm::TrieNode< T >::_brother, edm::TrieNode< T >::_brotherLabel, edm::TrieNode< T >::_firstSubNode, and edm::TrieNode< T >::_firstSubNodeLabel.
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 452 of file Trie.h.
References edm::TrieNode< T >::_brother, edm::TrieNode< T >::_brotherLabel, edm::TrieNode< T >::_firstSubNode, edm::TrieNode< T >::_firstSubNodeLabel, edm::TrieNode< T >::_value, mps_fire::i, and hltrates_dqm_sourceclient-live_cfg::offset.
edm::TrieNodeIter< T > edm::TrieNode< T >::end | ( | void | ) | const |
mark end of iteration (std conforming)
Definition at line 348 of file Trie.h.
Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().
|
privatedelete |
avoid affectation operator
void edm::TrieNode< T >::setValue | ( | const T & | val | ) |
set value associed to node
Definition at line 353 of file Trie.h.
References edm::TrieNode< T >::_value, and heppy_batch::val.
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 399 of file Trie.h.
References edm::TrieNode< T >::_firstSubNode.
edm::TrieNode< T > * edm::TrieNode< T >::subNode | ( | ) |
Definition at line 404 of file Trie.h.
References edm::TrieNode< T >::_firstSubNode.
const edm::TrieNode< T > * edm::TrieNode< T >::subNodeByLabel | ( | unsigned char | chr | ) | const |
Definition at line 414 of file Trie.h.
References edm::TrieNode< T >::_firstSubNode, edm::TrieNode< T >::_firstSubNodeLabel, edm::TrieNode< T >::_sequentialSearch(), and 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 420 of file Trie.h.
References edm::TrieNode< T >::_firstSubNode, edm::TrieNode< T >::_firstSubNodeLabel, and edm::TrieNode< T >::_sequentialSearch().
unsigned char edm::TrieNode< T >::subNodeLabel | ( | ) | const |
Definition at line 409 of file Trie.h.
References edm::TrieNode< T >::_firstSubNodeLabel.
const T & edm::TrieNode< T >::value | ( | ) | const |
get value associed to node
Definition at line 358 of file Trie.h.
References edm::TrieNode< T >::_value.
Referenced by Types.int32::__nonzero__(), Types.uint32::__nonzero__(), Types.int64::__nonzero__(), Types.uint64::__nonzero__(), Types.double::__nonzero__(), Types.bool::__nonzero__(), Types.string::__nonzero__(), average.Average::average(), Vispa.Views.PropertyView.FileProperty::buttonClicked(), Types.string::configValue(), Types.FileInPath::configValue(), Mixins.UsingBlock::dumpPython(), edm::Trie< T >::find(), edm::Trie< T >::insert(), Mixins.UsingBlock::insertInto(), Types.int32::insertInto(), Types.uint32::insertInto(), Types.int64::insertInto(), Types.uint64::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 |
pointer to brother (node with same father as this one)
Definition at line 142 of file Trie.h.
Referenced by edm::TrieNode< T >::_addBrother(), edm::TrieNode< T >::_getBrother(), edm::TrieNode< T >::_setBrother(), edm::TrieNode< T >::brother(), edm::TrieNode< T >::clear(), and edm::TrieNode< T >::display().
|
private |
character to go to brother (node with same father as this one)
Definition at line 144 of file Trie.h.
Referenced by edm::TrieNode< T >::_addBrother(), edm::TrieNode< T >::_getBrother(), edm::TrieNode< T >::_setBrother(), edm::TrieNode< T >::brotherLabel(), edm::TrieNode< T >::clear(), and edm::TrieNode< T >::display().
|
private |
pointer to first sub node
Definition at line 146 of file Trie.h.
Referenced by edm::TrieNode< T >::addSubNode(), edm::TrieNode< T >::clear(), edm::TrieNode< T >::display(), edm::TrieNode< T >::subNode(), and edm::TrieNode< T >::subNodeByLabel().
|
private |
character to go to first subnode
Definition at line 148 of file Trie.h.
Referenced by edm::TrieNode< T >::addSubNode(), edm::TrieNode< T >::clear(), edm::TrieNode< T >::display(), edm::TrieNode< T >::subNodeByLabel(), and edm::TrieNode< T >::subNodeLabel().
|
private |
value associed to this node
Definition at line 150 of file Trie.h.
Referenced by Mixins._SimpleParameterTypeBase::__eq__(), Mixins._SimpleParameterTypeBase::__ge__(), Mixins._SimpleParameterTypeBase::__gt__(), Mixins._SimpleParameterTypeBase::__le__(), Mixins._SimpleParameterTypeBase::__lt__(), Mixins._SimpleParameterTypeBase::__ne__(), Mixins._SimpleParameterTypeBase::configValue(), Types.double::configValue(), edm::TrieNode< T >::display(), edm::TrieNode< T >::setValue(), Mixins._SimpleParameterTypeBase::setValue(), edm::TrieNode< T >::value(), and Mixins._SimpleParameterTypeBase::value().