mlpack 3.4.2
no_auxiliary_information.hpp
Go to the documentation of this file.
1
13#ifndef MLPACK_CORE_TREE_RECTANGLE_TREE_NO_AUXILIARY_INFORMATION_HPP
14#define MLPACK_CORE_TREE_RECTANGLE_TREE_NO_AUXILIARY_INFORMATION_HPP
15
16namespace mlpack {
17namespace tree {
18
19template<typename TreeType>
21{
22 public:
26 NoAuxiliaryInformation(const TreeType* /* node */) { }
29 TreeType* /* tree */,
30 bool /* deepCopy */ = true) { }
33
36 {
37 return *this;
38 }
39
50 bool HandlePointInsertion(TreeType* /* node */, const size_t /* point */)
51 {
52 return false;
53 }
54
67 bool HandleNodeInsertion(TreeType* /* node */,
68 TreeType* /* nodeToInsert */,
69 bool /* insertionLevel */)
70 {
71 return false;
72 }
73
84 bool HandlePointDeletion(TreeType* /* node */, const size_t /* localIndex */)
85 {
86 return false;
87 }
88
99 bool HandleNodeRemoval(TreeType* /* node */, const size_t /* nodeIndex */)
100 {
101 return false;
102 }
103
111 bool UpdateAuxiliaryInfo(TreeType* /* node */)
112 {
113 return false;
114 }
115
127 void SplitAuxiliaryInfo(TreeType* /* treeOne */,
128 TreeType* /* treeTwo */,
129 size_t /* axis */,
130 typename TreeType::ElemType /* cut */)
131 { }
132
133
138 { }
139
143 template<typename Archive>
144 void serialize(Archive &, const unsigned int /* version */) { }
145};
146
147} // namespace tree
148} // namespace mlpack
149
150#endif // MLPACK_CORE_TREE_RECTANGLE_TREE_NO_AUXILIARY_INFORMATION_HPP
bool UpdateAuxiliaryInfo(TreeType *)
Some tree types require to propagate the information upward.
bool HandlePointDeletion(TreeType *, const size_t)
Some tree types require to save some properties at the deletion process.
NoAuxiliaryInformation(const NoAuxiliaryInformation &, TreeType *, bool=true)
Construct the auxiliary information object.
bool HandleNodeInsertion(TreeType *, TreeType *, bool)
Some tree types require to save some properties at the insertion process.
NoAuxiliaryInformation()
Construct the auxiliary information object.
NoAuxiliaryInformation(const TreeType *)
Construct the auxiliary information object.
bool HandleNodeRemoval(TreeType *, const size_t)
Some tree types require to save some properties at the deletion process.
NoAuxiliaryInformation & operator=(const NoAuxiliaryInformation &)
Copy the auxiliary information object.
void NullifyData()
Nullify the auxiliary information in order to prevent an invalid free.
void SplitAuxiliaryInfo(TreeType *, TreeType *, size_t, typename TreeType::ElemType)
The R++ tree requires to split the maximum bounding rectangle of a node that is being split.
void serialize(Archive &, const unsigned int)
Serialize the information.
NoAuxiliaryInformation(NoAuxiliaryInformation &&)
Construct the auxiliary information object.
bool HandlePointInsertion(TreeType *, const size_t)
Some tree types require to save some properties at the insertion process.
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1