ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Classes | |
class | nanoflann::PooledAllocator |
Functions | |
template<typename T > | |
T * | nanoflann::allocate (size_t count=1) |
Variables | |
const size_t | nanoflann::WORDSIZE = 16 |
const size_t | nanoflann::BLOCKSIZE = 8192 |
|
inline |
Allocates (using C's malloc) a generic type T.
Params: count = number of instances to allocate. Returns: pointer (of type T*) to memory buffer
Definition at line 474 of file nanoflann.hpp.
View newest version in sPHENIX GitHub at line 474 of file nanoflann.hpp
References nanoflann::KNNResultSet< DistanceType, IndexType, CountType >::count, and T.
Referenced by dfe::SmallVector< T, N, Allocator >::allocate_storage(), and nlohmann::basic_json::create().
const size_t nanoflann::BLOCKSIZE = 8192 |
Definition at line 496 of file nanoflann.hpp.
View newest version in sPHENIX GitHub at line 496 of file nanoflann.hpp
Referenced by nanoflann::PooledAllocator::malloc().
const size_t nanoflann::WORDSIZE = 16 |
Pooled storage allocator
The following routines allow for the efficient allocation of storage in small chunks from a specified pool. Rather than allowing each structure to be freed individually, an entire pool of storage is freed at once. This method has two advantages over just using malloc() and free(). First, it is far more efficient for allocating small objects, as there is no overhead for remembering all the information needed to free each object or consolidating fragmented memory. Second, the decision about how long to keep an object is made at the time of allocation, and there is no need to track down all the objects to free them.
Definition at line 495 of file nanoflann.hpp.
View newest version in sPHENIX GitHub at line 495 of file nanoflann.hpp
Referenced by nanoflann::PooledAllocator::malloc().