#include <MultiIndexDataTrie.h>
Public Member Functions | |
size_t | branchSize (const std::vector< int > &indexes, size_t depth=0) const |
void | clear () |
void | lookupAndClear (const std::vector< int > &indexes, Record &rec) |
MultiIndexDataTrie () | |
size_t | push (const std::vector< int > &indexes, Record &data) |
size_t | size () const |
size_t | totalSize () const |
virtual | ~MultiIndexDataTrie () |
Private Attributes | |
std::vector< MultiIndexDataTrie * > | m_children |
Record | m_data |
Definition at line 14 of file MultiIndexDataTrie.h.
ora::MultiIndexDataTrie::MultiIndexDataTrie | ( | ) |
Definition at line 8 of file MultiIndexDataTrie.cc.
|
virtual |
size_t ora::MultiIndexDataTrie::branchSize | ( | const std::vector< int > & | indexes, |
size_t | depth = 0 |
||
) | const |
Definition at line 110 of file MultiIndexDataTrie.cc.
References i, m_children, and ora::throwException().
void ora::MultiIndexDataTrie::clear | ( | void | ) |
Definition at line 101 of file MultiIndexDataTrie.cc.
References ora::Record::swap(), and tmp.
Referenced by Vispa.Views.WidgetView.WidgetView::closeEvent(), Vispa.Views.BoxDecayView.BoxDecayView::closeEvent(), Vispa.Share.FindAlgorithm.FindAlgorithm::findUsingFindDialog(), Vispa.Views.LineDecayView.LineDecayView::setDataObjects(), Vispa.Views.WidgetView.WidgetView::setDataObjects(), Vispa.Views.TreeView.TreeView::updateContent(), Vispa.Views.TableView.TableView::updateContent(), Vispa.Views.BoxDecayView.BoxDecayView::updateContent(), and Vispa.Views.PropertyView.PropertyView::updateContent().
void ora::MultiIndexDataTrie::lookupAndClear | ( | const std::vector< int > & | indexes, |
Record & | rec | ||
) |
coral::AttributeList& ora::MultiIndexDataTrie::lookup( const std::vector<int>& indexes ){ MultiIndexDataTrie* trie = this; for( size_t i=0;i<indexes.size();i++){ if( trie->m_children.size()==0 || indexes[i] > (int)(trie->m_children.size()-1)){ std::stringstream mess; mess << "Index["<<i<<"] is out of bound."; throwException( mess.str(),"MultiIndexDataTrie::lookup" ); } trie = trie->m_children[indexes[i]]; if( !trie ){ std::stringstream mess; mess << "Slot for index["<<i<<"] is empty."; throwException( mess.str(),"MultiIndexDataTrie::lookup" ); } } if(!trie->m_data.get()){ throwException( "No Data for the specified index combination.", "MultiIndexDataTrie::lookup" ); } return *trie->m_data; }
Definition at line 69 of file MultiIndexDataTrie.cc.
References i, python.Node::leaf, m_children, m_data, ora::Record::size(), ora::Record::swap(), and ora::throwException().
size_t ora::MultiIndexDataTrie::push | ( | const std::vector< int > & | indexes, |
Record & | data | ||
) |
Definition at line 18 of file MultiIndexDataTrie.cc.
References i, j, m_children, m_data, nt, alignCSCRings::s, ora::Record::swap(), and ora::throwException().
size_t ora::MultiIndexDataTrie::size | ( | void | ) | const |
Definition at line 97 of file MultiIndexDataTrie.cc.
size_t ora::MultiIndexDataTrie::totalSize | ( | ) | const |
Definition at line 132 of file MultiIndexDataTrie.cc.
|
private |
Definition at line 36 of file MultiIndexDataTrie.h.
Referenced by branchSize(), lookupAndClear(), and push().
|
private |
Definition at line 37 of file MultiIndexDataTrie.h.
Referenced by lookupAndClear(), and push().