Helios++
Helios software for LiDAR simulations
LightKDTreeNodeBlockAllocator.h
1 #pragma once
2 
3 #include <BlockAllocator.h>
4 
12 class LightKDTreeNodeBlockAllocator : public BlockAllocator<LightKDTreeNode>{
13 private:
14  // *** SERIALIZATION *** //
15  // *********************** //
16  friend class boost::serialization::access;
23  template <class Archive>
24  void serialize(Archive &ar, const unsigned int version){
25  boost::serialization::void_cast_register<
28  >();
29  ar &boost::serialization::base_object<BlockAllocator>(*this);
30  }
31 
32 public:
39  {}
43  virtual ~LightKDTreeNodeBlockAllocator() = default;
44 
45 };
Class to handle allocation of multiple instances of the same class by blocks. It is useful to reduce ...
Definition: BlockAllocator.h:12
size_t blockSize
How many elements per allocated block.
Definition: BlockAllocator.h:38
Block allocator for LightKDTreeNode instances.
Definition: LightKDTreeNodeBlockAllocator.h:12
LightKDTreeNodeBlockAllocator(size_t const blockSize=256)
Default constructor for LightKDTreeNodeBlockAllocator.
Definition: LightKDTreeNodeBlockAllocator.h:37
virtual ~LightKDTreeNodeBlockAllocator()=default
Destructor for LightKDTreeNodeBlockAllocator.
void serialize(Archive &ar, const unsigned int version)
Serialize a LightKDTreeNodeBlockAllocator to a stream of bytes.
Definition: LightKDTreeNodeBlockAllocator.h:24