Generated on Thu Apr 11 13:59:47 2019 for Gecode by doxygen 1.6.3

Gecode::region_allocator< T > Struct Template Reference
[Using allocators with Gecode]

Allocator that allocates memory from a region. 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

 region_allocator (Region &region) throw ()
 Construction.
 region_allocator (region_allocator const &al) throw ()
 Copy construction.
template<class U >
 region_allocator (region_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 (void) 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 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.

Detailed Description

template<class T>
struct Gecode::region_allocator< T >

Allocator that allocates memory from a region.

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

Definition at line 338 of file allocators.hpp.


Member Typedef Documentation

template<class T>
typedef T Gecode::region_allocator< T >::value_type

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

Definition at line 340 of file allocators.hpp.

template<class T>
typedef size_t Gecode::region_allocator< T >::size_type

Type that can represent the size of the largest object.

Definition at line 342 of file allocators.hpp.

template<class T>
typedef ptrdiff_t Gecode::region_allocator< T >::difference_type

Type that can represent the difference between any two pointers.

Definition at line 344 of file allocators.hpp.

template<class T>
typedef T* Gecode::region_allocator< T >::pointer

Type of pointers returned by the allocator.

Definition at line 346 of file allocators.hpp.

template<class T>
typedef T const* Gecode::region_allocator< T >::const_pointer

Const version of pointer.

Definition at line 348 of file allocators.hpp.

template<class T>
typedef T& Gecode::region_allocator< T >::reference

Non-const reference to T.

Definition at line 350 of file allocators.hpp.

template<class T>
typedef T const& Gecode::region_allocator< T >::const_reference

Const reference to T.

Definition at line 352 of file allocators.hpp.


Constructor & Destructor Documentation

template<class T>
Gecode::region_allocator< T >::region_allocator ( Region &  region  )  throw () [inline]

Construction.

Parameters:
region The region to allocate objects from.

Definition at line 367 of file allocators.hpp.

template<class T>
Gecode::region_allocator< T >::region_allocator ( region_allocator< T > const &  al  )  throw () [inline]

Copy construction.

Parameters:
al The allocator to copy.

Definition at line 373 of file allocators.hpp.

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

Copy from other instantiation.

Parameters:
al The source allocator.

Definition at line 380 of file allocators.hpp.


Member Function Documentation

template<class T>
pointer Gecode::region_allocator< T >::address ( reference  x  )  const [inline]

Convert a reference x to a pointer.

Definition at line 384 of file allocators.hpp.

template<class T>
const_pointer Gecode::region_allocator< T >::address ( const_reference  x  )  const [inline]

Convert a const reference x to a const pointer.

Definition at line 386 of file allocators.hpp.

template<class T>
size_type Gecode::region_allocator< T >::max_size ( void   )  const throw () [inline]

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

Definition at line 388 of file allocators.hpp.

template<class T>
pointer Gecode::region_allocator< T >::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 401 of file allocators.hpp.

template<class T>
pointer Gecode::region_allocator< T >::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 416 of file allocators.hpp.

template<class T>
void Gecode::region_allocator< T >::deallocate ( pointer  p,
size_type  count 
) [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.

template<class T>
void Gecode::region_allocator< T >::construct ( pointer  element,
const_reference  t 
) [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.

template<class T>
void Gecode::region_allocator< T >::destroy ( pointer  element  )  [inline]

Calls the destructor on the object pointed to by element.

Definition at line 445 of file allocators.hpp.


Member Data Documentation

template<class T>
Region& Gecode::region_allocator< T >::region

The region that we allocate objects from.

Definition at line 361 of file allocators.hpp.


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