Generated on Mon Aug 25 11:35:54 2008 for Gecode by doxygen 1.5.6

Gecode::Support Namespace Reference


Detailed Description

Support algorithms and datastructures


Classes

class  BlockAllocator
 Manage memory organized into block lists (allocator). More...
class  BlockClient
 Client for block allocator of type T. More...
class  DynamicArray
 Array with arbitrary number of elements. More...
class  DynamicStack
 Stack with arbitrary number of elements. More...
class  Map
 Hash map. More...
class  SymbolMap
 Hash table for strings. More...
class  Pointer
 Pointer wrapper class to make pointers hashable. More...
class  PtrMap
 Hash table for pointers. More...
class  LinearCongruentialGenerator
 Template for linear congruential generators. More...
class  SentinelStack
 A simple stack that uses a sentinel element. More...
class  QuickSortStack
 Static stack for quicksort. More...
class  PQueue
 Simple fixed-size priority queue. More...
class  StaticStack
 Stack with fixed number of elements. More...
class  Symbol
 Immutable Symbols. More...

Typedefs

typedef
LinearCongruentialGenerator< 2147483647, 48271, 44488, 3399 > 
RandomGenerator
 Default values for linear congruential generator.

Functions

template<class T>
ptr_cast (void *p)
 Cast p into pointer of type T.
void * mark (void *p)
 Return marked pointer for p.
bool marked (void *p)
 Check whether p is marked.
void * unmark (void *p)
 Return the unmarked pointer for a marked pointer p.
template<class Type, class LessThan>
void exchange (Type &a, Type &b, LessThan &lt)
 Exchange elements according to order.
template<class Type, class LessThan>
void insertion (Type *l, Type *r, LessThan &lt)
 Standard insertion sort.
template<class Type, class LessThan>
Type * partition (Type *l, Type *r, LessThan &lt)
 Standard partioning.
template<class Type, class LessThan>
void quicksort (Type *l, Type *r, LessThan &lt)
 Standard quick sort.
template<class Type, class LessThan>
void insertion (Type *x, int n, LessThan &lt)
 Insertion sort.
template<class Type, class LessThan>
void quicksort (Type *x, int n, LessThan &lt)
 Quicksort.

Variables

int const QuickSortCutoff = 20
 Perform quicksort only for more elements.


Function Documentation

template<class T>
T Gecode::Support::ptr_cast ( void *  p  )  [inline]

Cast p into pointer of type T.

Definition at line 46 of file cast.icc.

void * Gecode::Support::mark ( void *  p  )  [inline]

Return marked pointer for p.

Definition at line 54 of file marked-pointer.icc.

bool Gecode::Support::marked ( void *  p  )  [inline]

Check whether p is marked.

Definition at line 50 of file marked-pointer.icc.

void * Gecode::Support::unmark ( void *  p  )  [inline]

Return the unmarked pointer for a marked pointer p.

Definition at line 59 of file marked-pointer.icc.

template<class Type, class LessThan>
void Gecode::Support::exchange ( Type &  a,
Type &  b,
LessThan &  lt 
) [inline]

Exchange elements according to order.

Definition at line 45 of file sort.icc.

template<class Type, class LessThan>
void Gecode::Support::insertion ( Type *  l,
Type *  r,
LessThan &  lt 
) [inline]

Standard insertion sort.

Definition at line 100 of file sort.icc.

template<class Type, class LessThan>
Type* Gecode::Support::partition ( Type *  l,
Type *  r,
LessThan &  lt 
) [inline]

Standard partioning.

Definition at line 116 of file sort.icc.

template<class Type, class LessThan>
void Gecode::Support::quicksort ( Type *  l,
Type *  r,
LessThan &  lt 
) [inline]

Standard quick sort.

Definition at line 133 of file sort.icc.


Variable Documentation

Perform quicksort only for more elements.

Definition at line 50 of file sort.icc.