OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Patricia::Tree< D, P, K > Class Template Reference

#include <patricia.h>

Inheritance diagram for Patricia::Tree< D, P, K >:
Collaboration diagram for Patricia::Tree< D, P, K >:

Classes

class  Iterator
 

Public Member Functions

 Tree ()
 
Iterator begin ()
 
Iterator end ()
 
Iterator LowerBound (D *data)
 
std::size_t Size ()
 
bool Insert (D *data)
 
bool Remove (D *data)
 
D * Find (const D *data)
 
D * FindNext (const D *data)
 
D * LPMFind (const D *data)
 
D * GetNext (D *data)
 
D * GetPrev (const D *data)
 
D * GetLast ()
 

Private Member Functions

const NodeDataToNode (const D *data)
 
NodeDataToNode (D *data)
 
const D * NodeToData (const Node *node)
 
D * NodeToData (Node *node)
 
bool InsertNode (Node *node)
 
bool RemoveNode (Node *node)
 
NodeFindNode (const Node *node)
 
NodeFindNextNode (const Node *node)
 
NodeFindBestMatchNode (const Node *node)
 
NodeGetNextNode (Node *node)
 
NodeGetPrevNode (const Node *node)
 
NodeGetLastNode ()
 
bool GetBit (const Node *node, std::size_t pos)
 
bool Compare (const Node *node_left, const Node *node_right)
 
bool Compare (const Node *node_left, const Node *node_right, std::size_t start, std::size_t &pos)
 
NodeRewireRightMost (Node *p, Node *x)
 
- Private Member Functions inherited from Patricia::TreeBase
 TreeBase ()
 

Additional Inherited Members

- Private Attributes inherited from Patricia::TreeBase
int nodes_
 
int int_nodes_
 
Noderoot_
 

Detailed Description

template<class D, Node D::* P, class K>
class Patricia::Tree< D, P, K >

Definition at line 45 of file patricia.h.

Constructor & Destructor Documentation

template<class D, Node D::* P, class K>
Patricia::Tree< D, P, K >::Tree ( )
inline

Definition at line 47 of file patricia.h.

Member Function Documentation

template<class D, Node D::* P, class K>
Iterator Patricia::Tree< D, P, K >::begin ( )
inline

Definition at line 75 of file patricia.h.

template<class D, Node D::* P, class K>
bool Patricia::Tree< D, P, K >::Compare ( const Node node_left,
const Node node_right 
)
inlineprivate

Definition at line 640 of file patricia.h.

template<class D, Node D::* P, class K>
bool Patricia::Tree< D, P, K >::Compare ( const Node node_left,
const Node node_right,
std::size_t  start,
std::size_t &  pos 
)
inlineprivate

Definition at line 665 of file patricia.h.

template<class D, Node D::* P, class K>
const Node* Patricia::Tree< D, P, K >::DataToNode ( const D *  data)
inlineprivate

Definition at line 124 of file patricia.h.

template<class D, Node D::* P, class K>
Node* Patricia::Tree< D, P, K >::DataToNode ( D *  data)
inlineprivate

Definition at line 132 of file patricia.h.

template<class D, Node D::* P, class K>
Iterator Patricia::Tree< D, P, K >::end ( )
inline

Definition at line 79 of file patricia.h.

template<class D, Node D::* P, class K>
D* Patricia::Tree< D, P, K >::Find ( const D *  data)
inline

Definition at line 99 of file patricia.h.

template<class D, Node D::* P, class K>
Node* Patricia::Tree< D, P, K >::FindBestMatchNode ( const Node node)
inlineprivate

Definition at line 481 of file patricia.h.

template<class D, Node D::* P, class K>
D* Patricia::Tree< D, P, K >::FindNext ( const D *  data)
inline

Definition at line 103 of file patricia.h.

template<class D, Node D::* P, class K>
Node* Patricia::Tree< D, P, K >::FindNextNode ( const Node node)
inlineprivate

Definition at line 393 of file patricia.h.

template<class D, Node D::* P, class K>
Node* Patricia::Tree< D, P, K >::FindNode ( const Node node)
inlineprivate

Definition at line 365 of file patricia.h.

template<class D, Node D::* P, class K>
bool Patricia::Tree< D, P, K >::GetBit ( const Node node,
std::size_t  pos 
)
inlineprivate

Definition at line 631 of file patricia.h.

template<class D, Node D::* P, class K>
D* Patricia::Tree< D, P, K >::GetLast ( )
inline

Definition at line 119 of file patricia.h.

template<class D, Node D::* P, class K>
Node* Patricia::Tree< D, P, K >::GetLastNode ( )
inlineprivate

Definition at line 602 of file patricia.h.

template<class D, Node D::* P, class K>
D* Patricia::Tree< D, P, K >::GetNext ( D *  data)
inline

Definition at line 111 of file patricia.h.

template<class D, Node D::* P, class K>
Node* Patricia::Tree< D, P, K >::GetNextNode ( Node node)
inlineprivate

Definition at line 510 of file patricia.h.

template<class D, Node D::* P, class K>
D* Patricia::Tree< D, P, K >::GetPrev ( const D *  data)
inline

Definition at line 115 of file patricia.h.

template<class D, Node D::* P, class K>
Node* Patricia::Tree< D, P, K >::GetPrevNode ( const Node node)
inlineprivate

Definition at line 541 of file patricia.h.

template<class D, Node D::* P, class K>
bool Patricia::Tree< D, P, K >::Insert ( D *  data)
inline

Definition at line 91 of file patricia.h.

template<class D, Node D::* P, class K>
bool Patricia::Tree< D, P, K >::InsertNode ( Node node)
inlineprivate

Definition at line 156 of file patricia.h.

template<class D, Node D::* P, class K>
Iterator Patricia::Tree< D, P, K >::LowerBound ( D *  data)
inline

Definition at line 83 of file patricia.h.

template<class D, Node D::* P, class K>
D* Patricia::Tree< D, P, K >::LPMFind ( const D *  data)
inline

Definition at line 107 of file patricia.h.

template<class D, Node D::* P, class K>
const D* Patricia::Tree< D, P, K >::NodeToData ( const Node node)
inlineprivate

Definition at line 140 of file patricia.h.

template<class D, Node D::* P, class K>
D* Patricia::Tree< D, P, K >::NodeToData ( Node node)
inlineprivate

Definition at line 148 of file patricia.h.

template<class D, Node D::* P, class K>
bool Patricia::Tree< D, P, K >::Remove ( D *  data)
inline

Definition at line 95 of file patricia.h.

template<class D, Node D::* P, class K>
bool Patricia::Tree< D, P, K >::RemoveNode ( Node node)
inlineprivate

Definition at line 269 of file patricia.h.

template<class D, Node D::* P, class K>
Node* Patricia::Tree< D, P, K >::RewireRightMost ( Node p,
Node x 
)
inlineprivate

Definition at line 702 of file patricia.h.

template<class D, Node D::* P, class K>
std::size_t Patricia::Tree< D, P, K >::Size ( )
inline

Definition at line 87 of file patricia.h.


The documentation for this class was generated from the following file: