FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
#include <fei_Pool_alloc.hpp>
Classes | |
struct | rebind |
Public Types | |
typedef T | value_type |
typedef std::size_t | size_type |
typedef T * | pointer |
typedef const T * | const_pointer |
typedef T & | reference |
typedef const T & | const_reference |
typedef std::ptrdiff_t | difference_type |
Public Member Functions | |
pointer | address (reference value) const |
const_pointer | address (const_reference value) const |
fei_Pool_alloc () throw () | |
fei_Pool_alloc (const T &) throw () | |
template<typename U > | |
fei_Pool_alloc (const fei_Pool_alloc< U > &) throw () | |
~fei_Pool_alloc () throw () | |
pointer | allocate (size_type n, const void *hint=NULL) |
void | deallocate (pointer p, size_type n) |
template<typename U > | |
void | construct (U *p, const U &val) |
void | construct (pointer p, const T &val) |
template<typename U > | |
void | destroy (U *p) |
void | destroy (pointer p) |
size_type | max_size () const throw () |
Private Attributes | |
fei_Pool * | mem |
size_t | n_ |
fei_Pool_alloc (along with its underlying memory-pool class fei_Pool) is taken almost verbatim from Stroustrup's book "The C++ Programming Language 3rd edition", pages 567-572.
The difference between this class and the one in the book is that the length of allocated memory-chunks must always be the same. That is, the first time allocate is called, an internal memory-pool is created with the specified alloc-size. That memory-pool can only satisfy allocation requests of that same size from then on.
Definition at line 34 of file fei_Pool_alloc.hpp.
typedef T fei_Pool_alloc< T >::value_type |
Definition at line 40 of file fei_Pool_alloc.hpp.
typedef std::size_t fei_Pool_alloc< T >::size_type |
Definition at line 41 of file fei_Pool_alloc.hpp.
typedef T* fei_Pool_alloc< T >::pointer |
Definition at line 42 of file fei_Pool_alloc.hpp.
typedef const T* fei_Pool_alloc< T >::const_pointer |
Definition at line 43 of file fei_Pool_alloc.hpp.
typedef T& fei_Pool_alloc< T >::reference |
Definition at line 44 of file fei_Pool_alloc.hpp.
typedef const T& fei_Pool_alloc< T >::const_reference |
Definition at line 45 of file fei_Pool_alloc.hpp.
typedef std::ptrdiff_t fei_Pool_alloc< T >::difference_type |
Definition at line 46 of file fei_Pool_alloc.hpp.
fei_Pool_alloc< T >::fei_Pool_alloc | ( | ) | ||
throw | ( | |||
) |
Definition at line 90 of file fei_Pool_alloc.hpp.
fei_Pool_alloc< T >::fei_Pool_alloc | ( | const T & | ) | ||
throw | ( | ||||
) |
Definition at line 91 of file fei_Pool_alloc.hpp.
|
inline |
Definition at line 66 of file fei_Pool_alloc.hpp.
fei_Pool_alloc< T >::~fei_Pool_alloc | ( | ) | ||
throw | ( | |||
) |
Definition at line 93 of file fei_Pool_alloc.hpp.
|
inline |
Definition at line 55 of file fei_Pool_alloc.hpp.
|
inline |
Definition at line 59 of file fei_Pool_alloc.hpp.
T * fei_Pool_alloc< T >::allocate | ( | size_type | n, |
const void * | hint = NULL |
||
) |
Definition at line 96 of file fei_Pool_alloc.hpp.
References get_fei_mem_pool().
Referenced by NodeDatabase::initNodeID(), fei::insert_row(), snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::RaggedTable(), and test_misc::serialtest3().
void fei_Pool_alloc< T >::deallocate | ( | pointer | p, |
size_type | n | ||
) |
Definition at line 114 of file fei_Pool_alloc.hpp.
Referenced by NodeDatabase::deleteMemory(), and snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::~RaggedTable().
|
inline |
Definition at line 74 of file fei_Pool_alloc.hpp.
Referenced by NodeDatabase::initNodeID(), fei::insert_row(), snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::RaggedTable(), and test_misc::serialtest3().
|
inline |
Definition at line 77 of file fei_Pool_alloc.hpp.
Definition at line 80 of file fei_Pool_alloc.hpp.
Referenced by NodeDatabase::deleteMemory(), test_misc::serialtest3(), and snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::~RaggedTable().
|
inline |
Definition at line 83 of file fei_Pool_alloc.hpp.
|
inline |
Definition at line 86 of file fei_Pool_alloc.hpp.
|
private |
Definition at line 36 of file fei_Pool_alloc.hpp.
|
private |
Definition at line 37 of file fei_Pool_alloc.hpp.