46 #define G4Allocator_h 1
113 pointer
address(reference r)
const {
return &r; }
114 const_pointer
address(const_reference r)
const {
return &r; }
125 mem_alloc =
static_cast<Type*
>(::operator
new(n*
sizeof(Type)));
135 ::operator
delete((
void*)p);
139 void construct(pointer p,
const Type& val) {
new((
void*)p) Type(val); }
148 return 2147483647/
sizeof(Type);
171 template <
class Type>
181 template <
class Type>
190 template <
class Type>
193 return static_cast<Type*
>(mem.Alloc());
200 template <
class Type>
211 template <
class Type>
224 template <
class Type>
234 template <
class Type>
237 return mem.GetNoPages();
244 template <
class Type>
247 return mem.GetPageSize();
254 template <
class Type>
258 mem.GrowPageSize(sz);
265 template <
class T1,
class T2>
275 template <
class T1,
class T2>
bool operator!=(const G4Allocator< T1 > &, const G4Allocator< T2 > &)
size_t GetAllocatedSize() const
virtual void IncreasePageSize(unsigned int sz)=0
ptrdiff_t difference_type
virtual size_t GetAllocatedSize() const =0
size_type max_size() const
void FreeSingle(Type *anElement)
void construct(pointer p, const Type &val)
void deallocate(pointer p, size_type n)
virtual void ResetStorage()=0
virtual int GetNoPages() const =0
virtual size_t GetPageSize() const =0
G4Allocator(const G4Allocator< U > &right)
const Type * const_pointer
const_pointer address(const_reference r) const
bool operator==(const G4Allocator< T1 > &, const G4Allocator< T2 > &)
size_t GetPageSize() const
pointer address(reference r) const
pointer allocate(size_type n, void *=0)
const Type & const_reference
virtual ~G4AllocatorBase()
void IncreasePageSize(unsigned int sz)