Dune Core Modules (unstable)

Allocators

Implementations of the STL allocator concept. More...

Classes

class  Dune::AlignedAllocator< T, Alignment >
 Allocators which guarantee alignment of the memory. More...
 
class  Dune::MallocAllocator< T >
 Allocators implementation which simply calls malloc/free. More...
 
class  Dune::Pool< T, s >
 A memory pool of objects. More...
 
class  Dune::PoolAllocator< T, s >
 An allocator managing a pool of objects for reuse. More...
 

Functions

 Dune::Pool< T, s >::Pool ()
 Constructor.
 
 Dune::Pool< T, s >::~Pool ()
 Destructor.
 
void Dune::Pool< T, s >::print (std::ostream &os)
 Print elements in pool for debugging.
 
void Dune::Pool< T, s >::free (void *o)
 Free an object. More...
 
void * Dune::Pool< T, s >::allocate ()
 Get a new or recycled object. More...
 
 Dune::PoolAllocator< T, s >::PoolAllocator ()
 Constructor.
 
pointer Dune::PoolAllocator< T, s >::allocate (std::size_t n, const_pointer hint=0)
 Allocates objects. More...
 
void Dune::PoolAllocator< T, s >::deallocate (pointer p, std::size_t n)
 Free objects. More...
 
void Dune::PoolAllocator< T, s >::construct (pointer p, const_reference value)
 Construct an object. More...
 
void Dune::PoolAllocator< T, s >::destroy (pointer p)
 Destroy an object without freeing memory. More...
 

Detailed Description

Implementations of the STL allocator concept.

Function Documentation

◆ allocate() [1/2]

template<class T , std::size_t S>
void * Dune::Pool< T, S >::allocate
inline

Get a new or recycled object.

Returns
A pointer to the object memory.

◆ allocate() [2/2]

template<class T , std::size_t s>
PoolAllocator< T, s >::pointer Dune::PoolAllocator< T, s >::allocate ( std::size_t  n,
const_pointer  hint = 0 
)
inline

Allocates objects.

Parameters
nThe number of objects to allocate. Has to be one!
hintIgnored hint.
Returns
A pointer tp the allocated elements.

◆ construct()

template<class T , std::size_t s>
void Dune::PoolAllocator< T, s >::construct ( pointer  p,
const_reference  value 
)
inline

Construct an object.

Parameters
pPointer to the object.
valueThe value to initialize it to.

◆ deallocate()

template<class T , std::size_t s>
void Dune::PoolAllocator< T, s >::deallocate ( pointer  p,
std::size_t  n 
)
inline

Free objects.

Does not call the destructor!

Parameters
nThe number of objects to free. Has to be one!
pPointer to the first object.

◆ destroy()

template<class T , std::size_t s>
void Dune::PoolAllocator< T, s >::destroy ( pointer  p)
inline

Destroy an object without freeing memory.

Parameters
pPointer to the object.

◆ free()

template<class T , std::size_t S>
void Dune::Pool< T, S >::free ( void *  o)
inline

Free an object.

Parameters
oThe pointer to memory block of the object.
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Jul 17, 22:30, 2024)