Generated on Tue Sep 25 2012 20:53:25 for Gecode by doxygen 1.7.5
Gecode::space_allocator Struct Reference

Allocator that allocates memory from a space heap. More...

#include <allocators.hpp>

List of all members.

Classes

struct  rebind
 Rebinding helper (returns the type of a similar allocator for type U). More...

Public Types

typedef T value_type
 Type of objects the allocator creates. This is identical to T.
typedef size_t size_type
 Type that can represent the size of the largest object.
typedef ptrdiff_t difference_type
 Type that can represent the difference between any two pointers.
typedef T * pointer
 Type of pointers returned by the allocator.
typedef T const * const_pointer
 Const version of pointer.
typedef T & reference
 Non-const reference to T.
typedef T const & const_reference
 Const reference to T.

Public Member Functions

 space_allocator (Space &space) throw ()
 Construction.
 space_allocator (space_allocator const &al) throw ()
 Copy construction.
space_allocatoroperator= (space_allocator const &al)
 Assignment operator.
template<class U >
 space_allocator (space_allocator< U > const &al) throw ()
 Copy from other instantiation.
pointer address (reference x) const
 Convert a reference x to a pointer.
const_pointer address (const_reference x) const
 Convert a const reference x to a const pointer.
size_type max_size () const throw ()
 Returns the largest size for which a call to allocate might succeed.
pointer allocate (size_type count)
 Allocates storage.
pointer allocate (size_type count, const void *const hint)
 Allocates storage.
void deallocate (pointer p, size_type count)
 Deallocates the storage obtained by a call to allocate() with arguments count and p.
void construct (pointer element, const_reference t)
void destroy (pointer element)
 Calls the destructor on the object pointed to by element.

Public Attributes

Spacespace
 The space that we allocate objects from.

Detailed Description

Allocator that allocates memory from a space heap.

Note that this allocator may be used to construct dynamic data structures that allocate memory from the space heap, or even reside in the space heap as a whole.


Member Typedef Documentation

Type of objects the allocator creates. This is identical to T.

Definition at line 179 of file allocators.hpp.

Type that can represent the size of the largest object.

Definition at line 181 of file allocators.hpp.

Type that can represent the difference between any two pointers.

Definition at line 183 of file allocators.hpp.

Type of pointers returned by the allocator.

Definition at line 185 of file allocators.hpp.

Const version of pointer.

Definition at line 187 of file allocators.hpp.

Non-const reference to T.

Definition at line 189 of file allocators.hpp.

Const reference to T.

Definition at line 191 of file allocators.hpp.


Constructor & Destructor Documentation

Gecode::space_allocator::space_allocator ( Space space) throw () [inline]

Construction.

Parameters:
spaceThe space whose heap to allocate objects from.

Definition at line 205 of file allocators.hpp.

Gecode::space_allocator::space_allocator ( space_allocator const &  al) throw () [inline]

Copy construction.

Parameters:
alThe allocator to copy.

Definition at line 210 of file allocators.hpp.

template<class U >
Gecode::space_allocator::space_allocator ( space_allocator< U > const &  al) throw () [inline]

Copy from other instantiation.

Parameters:
alThe source allocator.

Definition at line 225 of file allocators.hpp.


Member Function Documentation

space_allocator& Gecode::space_allocator::operator= ( space_allocator const &  al) [inline]

Assignment operator.

Parameters:
alThe allocator to assign.

Definition at line 215 of file allocators.hpp.

pointer Gecode::space_allocator::address ( reference  x) const [inline]

Convert a reference x to a pointer.

Definition at line 228 of file allocators.hpp.

const_pointer Gecode::space_allocator::address ( const_reference  x) const [inline]

Convert a const reference x to a const pointer.

Definition at line 230 of file allocators.hpp.

size_type Gecode::space_allocator::max_size ( ) const throw () [inline]

Returns the largest size for which a call to allocate might succeed.

Definition at line 232 of file allocators.hpp.

pointer Gecode::space_allocator::allocate ( size_type  count) [inline]

Allocates storage.

Returns a pointer to the first element in a block of storage count*sizeof(T) bytes in size. The block is aligned appropriately for objects of type T. Throws the exception bad_alloc if the storage is unavailable.

Definition at line 244 of file allocators.hpp.

pointer Gecode::space_allocator::allocate ( size_type  count,
const void *const  hint 
) [inline]

Allocates storage.

Returns a pointer to the first element in a block of storage count*sizeof(T) bytes in size. The block is aligned appropriately for objects of type T. Throws the exception bad_alloc if the storage is unavailable. The (unused) parameter could be used as an allocation hint, but this allocator ignores it.

Definition at line 258 of file allocators.hpp.

void Gecode::space_allocator::deallocate ( pointer  p,
size_type  count 
) [inline]

Deallocates the storage obtained by a call to allocate() with arguments count and p.

Definition at line 264 of file allocators.hpp.

void Gecode::space_allocator::construct ( pointer  element,
const_reference  t 
) [inline]

Definition at line 275 of file allocators.hpp.

void Gecode::space_allocator::destroy ( pointer  element) [inline]

Calls the destructor on the object pointed to by element.

Definition at line 280 of file allocators.hpp.


Member Data Documentation

The space that we allocate objects from.

Definition at line 199 of file allocators.hpp.


The documentation for this struct was generated from the following file: