![]() |
![]() |
#include <DataFormats/Common/interface/Trie.h>
Public Member Functions | |
void | clear () |
TrieNode< T > * | newNode (const T &value) |
TrieFactory (unsigned paquetSize) | |
~TrieFactory () | |
Private Member Functions | |
TrieFactory & | operator= (const TrieFactory &e) |
avoid affectation operator | |
TrieFactory (const TrieFactory &e) | |
avoid copy constructor | |
TrieFactory () | |
avoid default constructor | |
Private Attributes | |
std::list< TrieNode< T > * > | _allocatedNodes |
TrieNode< T > * | _lastNodes |
unsigned | _nbUsedInLastNodes |
unsigned | _paquetSize |
Definition at line 41 of file Trie.h.
edm::TrieFactory< T >::TrieFactory | ( | unsigned | paquetSize | ) | [inline] |
Definition at line 321 of file Trie.h.
References edm::TrieFactory< T >::_lastNodes.
00321 : 00322 _paquetSize(paquetSize), _lastNodes(0x0), _nbUsedInLastNodes(0) 00323 { 00324 _lastNodes = new TrieNode<T>[paquetSize]; 00325 }
edm::TrieFactory< T >::~TrieFactory | ( | ) | [inline] |
Definition at line 328 of file Trie.h.
References edm::TrieFactory< T >::_allocatedNodes, edm::TrieFactory< T >::_lastNodes, and it.
00329 { 00330 typename std::list<TrieNode<T>*>::const_iterator it; 00331 00332 for (it = _allocatedNodes.begin(); it != _allocatedNodes.end(); ++it) 00333 delete[] *it; 00334 if (_lastNodes) 00335 delete[] _lastNodes; 00336 }
edm::TrieFactory< T >::TrieFactory | ( | ) | [private] |
avoid default constructor
edm::TrieFactory< T >::TrieFactory | ( | const TrieFactory< T > & | e | ) | [private] |
avoid copy constructor
void edm::TrieFactory< T >::clear | ( | void | ) | [inline] |
Definition at line 355 of file Trie.h.
References edm::TrieFactory< T >::_allocatedNodes, edm::TrieFactory< T >::_nbUsedInLastNodes, and it.
00356 { 00357 typename std::list<TrieNode<T>*>::const_iterator it; 00358 for (it = _allocatedNodes.begin(); it != _allocatedNodes.end(); ++it) 00359 delete[] *it; 00360 _allocatedNodes.clear(); 00361 _nbUsedInLastNodes = 0; 00362 }
edm::TrieNode< T > * edm::TrieFactory< T >::newNode | ( | const T & | value | ) | [inline] |
Definition at line 339 of file Trie.h.
References edm::TrieFactory< T >::_allocatedNodes, edm::TrieFactory< T >::_lastNodes, edm::TrieFactory< T >::_nbUsedInLastNodes, edm::TrieFactory< T >::_paquetSize, edm::TrieNode< T >::clear(), res, and edm::TrieNode< T >::setValue().
00340 { 00341 if (_nbUsedInLastNodes == _paquetSize) 00342 { 00343 _allocatedNodes.push_back(_lastNodes); 00344 _nbUsedInLastNodes = 0; 00345 _lastNodes = new TrieNode<T>[_paquetSize]; 00346 } 00347 TrieNode<T> *res = &_lastNodes[_nbUsedInLastNodes]; 00348 ++_nbUsedInLastNodes; 00349 res->setValue(value); 00350 res->clear(); 00351 return res; 00352 }
TrieFactory& edm::TrieFactory< T >::operator= | ( | const TrieFactory< T > & | e | ) | [private] |
avoid affectation operator
std::list<TrieNode<T>*> edm::TrieFactory< T >::_allocatedNodes [private] |
Definition at line 61 of file Trie.h.
Referenced by edm::TrieFactory< T >::clear(), edm::TrieFactory< T >::newNode(), and edm::TrieFactory< T >::~TrieFactory().
TrieNode<T>* edm::TrieFactory< T >::_lastNodes [private] |
Definition at line 62 of file Trie.h.
Referenced by edm::TrieFactory< T >::newNode(), edm::TrieFactory< T >::TrieFactory(), and edm::TrieFactory< T >::~TrieFactory().
unsigned edm::TrieFactory< T >::_nbUsedInLastNodes [private] |
Definition at line 63 of file Trie.h.
Referenced by edm::TrieFactory< T >::clear(), and edm::TrieFactory< T >::newNode().
unsigned edm::TrieFactory< T >::_paquetSize [private] |