162 template<
class U>
struct rebind {
217 assert(&space == &al.
space);
230 const_pointer
address(const_reference
x)
const {
return &
x; }
234 (
sizeof(T)>0 ?
sizeof(T) : 1);
245 return static_cast<pointer
>(space.
ralloc(
sizeof(T)*count));
265 space.
rfree(static_cast<void*>(p), count);
291 template<
class T1,
class T2>
294 return &al1.space == &al2.space;
303 template<
class T1,
class T2>
306 return &al1.space != &al2.space;
324 template<
class U>
struct rebind {
386 const_pointer
address(const_reference
x)
const {
return &
x; }
390 / (
sizeof(T)>0 ?
sizeof(T) : 1);
402 return static_cast<pointer
>(region.
ralloc(
sizeof(T)*count));
430 region.
rfree(static_cast<void*>(p), count);
456 template<
class T1,
class T2>
459 return &al1.region == &al2.region;
468 template<
class T1,
class T2>
471 return &al1.region != &al2.region;
void rfree(void *p, size_t s)
Free memory previously allocated.
pointer allocate(size_type count)
Allocates storage.
space_allocator & operator=(space_allocator const &al)
Assignment operator.
void destroy(pointer element)
Calls the destructor on the object pointed to by element.
const void * const_pointer
const_pointer address(const_reference x) const
Convert a const reference x to a const pointer.
pointer address(reference x) const
Convert a reference x to a pointer.
ptrdiff_t difference_type
Type that can represent the difference between any two pointers.
T & reference
Non-const reference to T.
space_allocator(space_allocator const &al)
Copy construction.
const FloatNum max
Largest allowed float value.
void deallocate(pointer *p, size_type count)
Deallocates storage.
region_allocator< U > other
The allocator type for U.
void deallocate(pointer p, size_type count)
Deallocates the storage obtained by a call to allocate() with arguments count and p...
pointer allocate(size_type count)
Allocates storage.
const_pointer address(const_reference x) const
Convert a const reference x to a const pointer.
Allocator that allocates memory from a region.
T const & const_reference
Const reference to T.
space_allocator(Space &space)
Construction.
void construct(pointer element, const_reference t)
Constructs an object.
T & reference
Non-const reference to T.
Allocator that allocates memory from a space heap.
int p
Number of positive literals for node type.
region_allocator< U > other
bool operator!=(const FloatVal &x, const FloatVal &y)
ptrdiff_t difference_type
Type that can represent the difference between any two pointers.
space_allocator< U > other
Region & region
The region that we allocate objects from.
size_t size_type
Type that can represent the size of the largest object.
void element(Home home, IntSharedArray c, IntVar x0, IntVar x1, IntConLevel)
Post domain consistent propagator for .
region_allocator(region_allocator< U > const &al)
Copy from other instantiation.
const void * const_pointer
T const & const_reference
Const reference to T.
Space & space
The space that we allocate objects from.
T const * const_pointer
Const version of pointer.
void * ralloc(size_t s)
Allocate memory on space heap.
space_allocator(space_allocator< U > const &al)
Copy from other instantiation.
region_allocator(Region ®ion)
Construction.
Node * x
Pointer to corresponding Boolean expression node.
space_allocator< U > other
The allocator type for U.
void count(Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntConLevel)
Post propagator for .
pointer allocate(size_type count, const void *const hint)
Allocates storage.
T value_type
Type of objects the allocator creates. This is identical to T.
void construct(pointer element, const_reference t)
void destroy(pointer element)
Calls the destructor on the object pointed to by element.
pointer allocate(size_type count, const void *const hint)
Allocates storage.
size_type max_size(void) const
Returns the largest size for which a call to allocate might succeed.
bool operator==(const FloatVal &x, const FloatVal &y)
Gecode toplevel namespace
T * pointer
Type of pointers returned by the allocator.
size_t size_type
Type that can represent the size of the largest object.
T * pointer
Type of pointers returned by the allocator.
Rebinding helper (returns the type of a similar allocator for type U).
size_type max_size(void) const
Returns the largest size for which a call to allocate might succeed.
Rebinding helper (returns the type of a similar allocator for type U).
void * ralloc(size_t s)
Allocate memory from region.
T const * const_pointer
Const version of pointer.
void rfree(void *p, size_t s)
Free memory previously allocated with alloc (might be reused later)
pointer address(reference x) const
Convert a reference x to a pointer.
T value_type
Type of objects the allocator creates. This is identical to T.
region_allocator(region_allocator const &al)
Copy construction.