|
Gaudi Framework, version v23r2 |
| Home | Generated: Thu Jun 28 2012 |
#include <GaudiKernel/Allocator.h>

Classes | |
| struct | rebind |
Public Types | |
| typedef Type | value_type |
| typedef size_t | size_type |
| typedef ptrdiff_t | difference_type |
| typedef Type * | pointer |
| typedef const Type * | const_pointer |
| typedef Type & | reference |
| typedef const Type & | const_reference |
Public Member Functions | |
| Allocator () throw () | |
| Constructor. | |
| ~Allocator () throw () | |
| destructor | |
| Type * | MallocSingle () |
| Malloc and Free methods to be used when overloading new and delete operators in the client <Type> object. | |
| void | FreeSingle (Type *anElement) |
| void | ResetStorage () |
| Returns allocated storage to the free store, resets allocator and page sizes. | |
| size_t | GetAllocatedSize () const |
| Returns the size of the total memory allocated. | |
| template<class U > | |
| Allocator (const Allocator< U > &right) throw () | |
| Copy constructor. | |
| pointer | address (reference r) const |
| Returns the address of values. | |
| const_pointer | address (const_reference r) const |
| pointer | allocate (size_type n, void *hint=0) |
| Allocates space for n elements of type Type, but does not initialise. | |
| void | deallocate (pointer p, size_type n) |
| Deallocates n elements of type Type, but doesn't destroy. | |
| void | construct (pointer p, const Type &val) |
| Initialises *p by val. | |
| void | destroy (pointer p) |
| Destroy *p but doesn't deallocate. | |
| size_type | max_size () const throw () |
| Returns the maximum number of elements that can be allocated. | |
Private Attributes | |
| GaudiUtils::AllocatorPool | mem |
The class is imported from Geant4 project
Definition at line 74 of file Allocator.h.
| typedef const Type* GaudiUtils::Allocator< Type >::const_pointer |
Definition at line 112 of file Allocator.h.
| typedef const Type& GaudiUtils::Allocator< Type >::const_reference |
Definition at line 114 of file Allocator.h.
| typedef ptrdiff_t GaudiUtils::Allocator< Type >::difference_type |
Definition at line 110 of file Allocator.h.
| typedef Type* GaudiUtils::Allocator< Type >::pointer |
Definition at line 111 of file Allocator.h.
| typedef Type& GaudiUtils::Allocator< Type >::reference |
Definition at line 113 of file Allocator.h.
| typedef size_t GaudiUtils::Allocator< Type >::size_type |
Definition at line 109 of file Allocator.h.
| typedef Type GaudiUtils::Allocator< Type >::value_type |
Definition at line 108 of file Allocator.h.
| GaudiUtils::Allocator< Type >::Allocator | ( | ) | throw () |
| GaudiUtils::Allocator< Type >::~Allocator | ( | ) | throw () |
| GaudiUtils::Allocator< Type >::Allocator | ( | const Allocator< U > & | right ) | throw () [inline] |
| pointer GaudiUtils::Allocator< Type >::address | ( | reference | r ) | const [inline] |
| const_pointer GaudiUtils::Allocator< Type >::address | ( | const_reference | r ) | const [inline] |
Definition at line 123 of file Allocator.h.
{ return &r; }
| pointer GaudiUtils::Allocator< Type >::allocate | ( | size_type | n, |
| void * | hint = 0 |
||
| ) | [inline] |
Allocates space for n elements of type Type, but does not initialise.
Definition at line 126 of file Allocator.h.
{
// Allocates space for n elements of type Type, but does not initialise
//
Type* mem_alloc = 0;
if (n == 1)
mem_alloc = MallocSingle();
else
mem_alloc = static_cast<Type*>(::operator new(n*sizeof(Type)));
return mem_alloc;
}
| void GaudiUtils::Allocator< Type >::construct | ( | pointer | p, |
| const Type & | val | ||
| ) | [inline] |
| void GaudiUtils::Allocator< Type >::deallocate | ( | pointer | p, |
| size_type | n | ||
| ) | [inline] |
Deallocates n elements of type Type, but doesn't destroy.
Definition at line 139 of file Allocator.h.
{
// Deallocates n elements of type Type, but doesn't destroy
//
if (n == 1)
FreeSingle(p);
else
::operator delete((void*)p);
return;
}
| void GaudiUtils::Allocator< Type >::destroy | ( | pointer | p ) | [inline] |
| void GaudiUtils::Allocator< Type >::FreeSingle | ( | Type * | anElement ) | [inline] |
Definition at line 217 of file Allocator.h.
| size_t GaudiUtils::Allocator< Type >::GetAllocatedSize | ( | ) | const [inline] |
Returns the size of the total memory allocated.
Definition at line 241 of file Allocator.h.
| Type * GaudiUtils::Allocator< Type >::MallocSingle | ( | ) | [inline] |
Malloc and Free methods to be used when overloading new and delete operators in the client <Type> object.
Definition at line 207 of file Allocator.h.
| size_type GaudiUtils::Allocator< Type >::max_size | ( | ) | const throw () [inline] |
Returns the maximum number of elements that can be allocated.
Definition at line 156 of file Allocator.h.
{
// Returns the maximum number of elements that can be allocated
//
return 2147483647/sizeof(Type);
}
| void GaudiUtils::Allocator< Type >::ResetStorage | ( | ) | [inline] |
Returns allocated storage to the free store, resets allocator and page sizes.
Note: contents in memory are lost using this call !
Definition at line 228 of file Allocator.h.
GaudiUtils::AllocatorPool GaudiUtils::Allocator< Type >::mem [private] |
Definition at line 169 of file Allocator.h.