Region allocator - specialization for void
.
More...
#include <allocators.hpp>
Classes | |
struct | rebind |
Rebinding helper (returns the type of a similar allocator for type U) More... |
Public Types | |
typedef void * | pointer |
typedef const void * | const_pointer |
typedef void | value_type |
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 void & | reference |
Non-const reference to T. | |
typedef void const & | const_reference |
Const reference to T. |
Public Member Functions | |
region_allocator (Region ®ion) throw () | |
Construction. | |
pointer | address (reference x) const |
Convert a reference x to a pointer. | |
size_type | max_size (void) const throw () |
Returns the largest size for which a call to allocate might succeed. | |
pointer | allocate (size_type count) |
Allocates storage. | |
void | deallocate (pointer p, size_type count) |
Deallocates storage. | |
void | construct (pointer element, const_reference t) |
Constructs an object. | |
void | destroy (pointer element) |
Calls the destructor on the object pointed to by element. |
Public Attributes | |
Region & | region |
The region that we allocate objects from. |
Region allocator - specialization for void
.
The specialization is needed as the default instantiation fails for void
.
Definition at line 319 of file allocators.hpp.
typedef void* Gecode::region_allocator< void >::pointer |
Definition at line 320 of file allocators.hpp.
typedef const void* Gecode::region_allocator< void >::const_pointer |
Definition at line 321 of file allocators.hpp.
typedef void Gecode::region_allocator< void >::value_type |
Definition at line 322 of file allocators.hpp.
typedef size_t Gecode::region_allocator< void >::size_type |
Type that can represent the size of the largest object.
Definition at line 342 of file allocators.hpp.
typedef ptrdiff_t Gecode::region_allocator< void >::difference_type |
Type that can represent the difference between any two pointers.
Definition at line 344 of file allocators.hpp.
typedef void& Gecode::region_allocator< void >::reference |
Non-const reference to T.
Definition at line 350 of file allocators.hpp.
typedef void const& Gecode::region_allocator< void >::const_reference |
Const reference to T.
Definition at line 352 of file allocators.hpp.
|
inline |
Construction.
region | The region to allocate objects from. |
Definition at line 367 of file allocators.hpp.
|
inline |
Convert a reference x to a pointer.
Definition at line 384 of file allocators.hpp.
|
inline |
Returns the largest size for which a call to allocate might succeed.
Definition at line 388 of file allocators.hpp.
|
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 401 of file allocators.hpp.
|
inline |
Deallocates storage.
Deallocates storage obtained by a call to allocate() with arguments count and p. Note that region allocator never actually deallocates memory (so this function does nothing); the memory is released when the region is destroyed.
Definition at line 429 of file allocators.hpp.
|
inline |
Constructs an object.
Constructs an object of type T with the initial value of t at the location specified by element. This function calls the placement new() operator.
Definition at line 440 of file allocators.hpp.
|
inline |
Calls the destructor on the object pointed to by element.
Definition at line 445 of file allocators.hpp.
Region& Gecode::region_allocator< void >::region |
The region that we allocate objects from.
Definition at line 361 of file allocators.hpp.