nanoflann
C++ header-only ANN library
 All Classes Functions Variables Typedefs Groups Pages
Classes | Functions | Variables

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
 

Detailed Description

Function Documentation

template<typename T >
T* nanoflann::allocate ( size_t  count = 1)
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

Variable Documentation

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.