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 
16 namespace mlpack {
17 namespace tree {
18 
19 template<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 
137  void NullifyData()
138  { }
139 
143  template<typename Archive>
144  void serialize(Archive &, const uint32_t /* version */) { }
145 };
146 
147 } // namespace tree
148 } // namespace mlpack
149 
150 #endif // MLPACK_CORE_TREE_RECTANGLE_TREE_NO_AUXILIARY_INFORMATION_HPP
bool HandleNodeRemoval(TreeType *, const size_t)
Some tree types require to save some properties at the deletion process.
bool HandleNodeInsertion(TreeType *, TreeType *, bool)
Some tree types require to save some properties at the insertion process.
NoAuxiliaryInformation()
Construct the auxiliary information object.
Linear algebra utility functions, generally performed on matrices or vectors.
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...
NoAuxiliaryInformation(NoAuxiliaryInformation &&)
Construct the auxiliary information object.
NoAuxiliaryInformation & operator=(const NoAuxiliaryInformation &)
Copy the auxiliary information object.
NoAuxiliaryInformation(const TreeType *)
Construct the auxiliary information object.
void NullifyData()
Nullify the auxiliary information in order to prevent an invalid free.
bool HandlePointInsertion(TreeType *, const size_t)
Some tree types require to save some properties at the insertion process.
void serialize(Archive &, const uint32_t)
Serialize the information.
NoAuxiliaryInformation(const NoAuxiliaryInformation &, TreeType *, bool=true)
Construct the auxiliary information object.
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.