The XTreeAuxiliaryInformation class provides information specific to X trees for each node in a RectangleTree. More...
Classes | |
struct | SplitHistoryStruct |
The X tree requires that the tree records it's "split history". More... | |
Public Types | |
typedef struct mlpack::tree::XTreeAuxiliaryInformation::SplitHistoryStruct | SplitHistoryStruct |
The X tree requires that the tree records it's "split history". More... | |
Public Member Functions | |
XTreeAuxiliaryInformation () | |
Default constructor. More... | |
XTreeAuxiliaryInformation (const TreeType *node) | |
Construct this with the specified node. More... | |
XTreeAuxiliaryInformation (const XTreeAuxiliaryInformation &other, TreeType *=NULL, bool=true) | |
Create an auxiliary information object by copying from another object. More... | |
XTreeAuxiliaryInformation (XTreeAuxiliaryInformation &&other) | |
Create an auxiliary information object by moving from the other node. More... | |
bool | HandleNodeInsertion (TreeType *, TreeType *, bool) |
Some tree types require to save some properties at the insertion process. More... | |
bool | HandleNodeRemoval (TreeType *, const size_t) |
Some tree types require to save some properties at the deletion process. More... | |
bool | HandlePointDeletion (TreeType *, const size_t) |
Some tree types require to save some properties at the deletion process. More... | |
bool | HandlePointInsertion (TreeType *, const size_t) |
Some tree types require to save some properties at the insertion process. More... | |
size_t | NormalNodeMaxNumChildren () const |
Return the maximum number of a normal node's children. More... | |
size_t & | NormalNodeMaxNumChildren () |
Modify the maximum number of a normal node's children. More... | |
void | NullifyData () |
Nullify the auxiliary information in order to prevent an invalid free. More... | |
XTreeAuxiliaryInformation & | operator= (const XTreeAuxiliaryInformation &other) |
Copy the auxiliary information object. More... | |
template < typename Archive > | |
void | serialize (Archive &ar, const uint32_t) |
Serialize the information. More... | |
const SplitHistoryStruct & | SplitHistory () const |
Return the split history of the node associated with this object. More... | |
SplitHistoryStruct & | SplitHistory () |
Modify the split history of the node associated with this object. More... | |
bool | UpdateAuxiliaryInfo (TreeType *) |
Some tree types require to propagate the information upward. More... | |
The XTreeAuxiliaryInformation class provides information specific to X trees for each node in a RectangleTree.
Definition at line 24 of file x_tree_auxiliary_information.hpp.
The X tree requires that the tree records it's "split history".
To make this easy, we use the following structure.
|
inline |
Default constructor.
Definition at line 28 of file x_tree_auxiliary_information.hpp.
|
inline |
Construct this with the specified node.
node | The node that stores this auxiliary information. |
Definition at line 38 of file x_tree_auxiliary_information.hpp.
|
inline |
Create an auxiliary information object by copying from another object.
other | Another auxiliary information object from which the information will be copied. |
* | (tree) The node that holds the auxiliary information. |
* | (deepCopy) If false, the new object uses the same memory (not used here). |
Definition at line 54 of file x_tree_auxiliary_information.hpp.
|
inline |
Create an auxiliary information object by moving from the other node.
other | The object from which the information will be moved. |
Definition at line 79 of file x_tree_auxiliary_information.hpp.
|
inline |
Some tree types require to save some properties at the insertion process.
This method allows the auxiliary information the option of manipulating the tree in order to perform the insertion process. If the auxiliary information does that, then the method should return true; if the method returns false the RectangleTree performs its default behavior.
* | (node) The node in which the nodeToInsert is being inserted. |
* | (nodeToInsert) The node being inserted. |
* | (insertionLevel) The level of the tree at which the nodeToInsert should be inserted. |
Definition at line 113 of file x_tree_auxiliary_information.hpp.
|
inline |
Some tree types require to save some properties at the deletion process.
This method allows the auxiliary information the option of manipulating the tree in order to perform the deletion process. If the auxiliary information does that, then the method should return true; if the method returns false the RectangleTree performs its default behavior.
* | (node) The node from which the node is being deleted. |
* | (nodeIndex) The local index of the node being deleted. |
Definition at line 143 of file x_tree_auxiliary_information.hpp.
|
inline |
Some tree types require to save some properties at the deletion process.
This method allows the auxiliary information the option of manipulating the tree in order to perform the deletion process. If the auxiliary information does that, then the method should return true; if the method returns false the RectangleTree performs its default behavior.
* | (node) The node from which the point is being deleted. |
* | (localIndex) The local index of the point being deleted. |
Definition at line 129 of file x_tree_auxiliary_information.hpp.
|
inline |
Some tree types require to save some properties at the insertion process.
This method allows the auxiliary information the option of manipulating the tree in order to perform the insertion process. If the auxiliary information does that, then the method should return true; if the method returns false the RectangleTree performs its default behavior.
* | (node) The node in which the point is being inserted. |
* | (point) The global number of the point being inserted. |
Definition at line 96 of file x_tree_auxiliary_information.hpp.
|
inline |
Return the maximum number of a normal node's children.
Definition at line 215 of file x_tree_auxiliary_information.hpp.
Referenced by XTreeAuxiliaryInformation< TreeType >::operator=().
|
inline |
Modify the maximum number of a normal node's children.
Definition at line 217 of file x_tree_auxiliary_information.hpp.
|
inline |
Nullify the auxiliary information in order to prevent an invalid free.
Definition at line 162 of file x_tree_auxiliary_information.hpp.
|
inline |
Copy the auxiliary information object.
other | The node from which the information will be copied. |
Definition at line 66 of file x_tree_auxiliary_information.hpp.
References XTreeAuxiliaryInformation< TreeType >::NormalNodeMaxNumChildren(), and XTreeAuxiliaryInformation< TreeType >::SplitHistory().
|
inline |
Serialize the information.
Definition at line 227 of file x_tree_auxiliary_information.hpp.
|
inline |
Return the split history of the node associated with this object.
Definition at line 219 of file x_tree_auxiliary_information.hpp.
Referenced by XTreeAuxiliaryInformation< TreeType >::operator=().
|
inline |
Modify the split history of the node associated with this object.
Definition at line 221 of file x_tree_auxiliary_information.hpp.
|
inline |
Some tree types require to propagate the information upward.
This method should return false if this is not the case. If true is returned, the update will be propagated upward.
* | (node) The node in which the auxiliary information being update. |
Definition at line 154 of file x_tree_auxiliary_information.hpp.