Generated on Thu Apr 11 14:00:11 2019 for Gecode by doxygen 1.6.3

Gecode::Support Namespace Reference

Support algorithms and datastructures More...

Classes

class  Allocator
 Default memory allocator. More...
class  BitSetData
 Date item for bitsets. More...
class  RawBitSetBase
 Basic bitset support (without stored size information). More...
class  BitSetBase
 Basic bitset support. More...
class  BitSetOffset
 Bitsets with index offset. More...
class  BitSet
 Simple bitsets. More...
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  DynamicQueue
 Queue with arbitrary number of elements. More...
class  DynamicStack
 Stack with arbitrary number of elements. More...
class  IntTypeTraits
 Traits to for information about integer types. More...
class  IntTypeTraits< signed char >
 Traits for signed char. More...
class  IntTypeTraits< unsigned char >
 Traits for unsigned char. More...
class  IntTypeTraits< signed short int >
 Traits for signed short int. More...
class  IntTypeTraits< unsigned short int >
 Traits for unsigned short int. More...
class  IntTypeTraits< signed int >
 Traits for signed integer. More...
class  IntTypeTraits< unsigned int >
 Traits for unsigned integer. More...
class  LinearCongruentialGenerator
 Template for linear congruential generators. More...
class  RefCount
 A class for thread-safe reference counting. More...
class  Job
 Baseclass for jobs with return type RetType. More...
class  JobStop
 Class to throw an exception to stop new jobs from being started. More...
class  RunJobs
 Parallel iterator that runs jobs with a given number of threads. More...
class  QuickSortStack
 Static stack for quicksort. More...
class  Less
 Comparison class for sorting using <. More...
class  StaticStack
 Stack with fixed number of elements. More...
class  Mutex
 A mutex for mutual exclausion among several threads. More...
class  Lock
 A lock as a scoped frontend for a mutex. More...
class  Event
 An event for synchronization. More...
class  Terminator
 An interface for objects that can be called after a thread has terminated (after running the thread's destructor). More...
class  Runnable
 An interface for objects that can be run by a thread. More...
class  Thread
 Simple threads. More...
class  Timer
 Timer More...

Typedefs

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

Enumerations

enum  BitSetStatus { BSS_NONE, BSS_ALL, BSS_SOME }
 

Status of a bitset.

More...
enum  IntType { IT_CHAR = 0, IT_SHRT = 1, IT_INT = 2 }
 

Description of integer types.

More...

Functions

template<class A , class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const BitSetOffset< A > &bs)
unsigned int hwrnd (void)
 Return hardware generated random number.
IntType u_type (unsigned int n)
 Return type required to represent n.
IntType s_type (signed int n)
 Return type required to represent n.
IntType s_type (int n)
bool marked (void *p)
 Check whether p is marked.
void * mark (void *p)
 Return marked pointer for unmarked pointer p.
void * unmark (void *p)
 Return unmarked pointer for a marked pointer p.
void * fmark (void *p)
 Return marked pointer for p (possibly already marked).
void * funmark (void *p)
 Return unmarked pointer for a possibly marked pointer p.
void * ptrsplit (void *p, ptrdiff_t &m)
 Split possibly marked pointer p into mark m and unmarked pointer.
void * ptrjoin (void *p, ptrdiff_t m)
 Join unmarked pointer p and m into marked pointer.
template<class Type , class Less >
void exchange (Type &a, Type &b, Less &less)
 Exchange elements according to order.
template<class Type , class Less >
void insertion (Type *l, Type *r, Less &less)
 Standard insertion sort.
template<class Type , class Less >
Type * partition (Type *l, Type *r, Less &less)
 Standard partioning.
template<class Type , class Less >
void quicksort (Type *l, Type *r, Less &less)
 Standard quick sort.
template<class Type , class Less >
void insertion (Type *x, int n, Less &l)
 Insertion sort.
template<class Type >
void insertion (Type *x, int n)
 Insertion sort.
template<class Type , class Less >
void quicksort (Type *x, int n, Less &l)
 Quicksort.
template<class Type >
void quicksort (Type *x, int n)
 Quicksort.
void * bootstrap (void *p)
 Function to start execution.

Variables

Allocator allocator
 The single global default memory allocator.
int const QuickSortCutoff = 20
 Perform quicksort only for more elements.

Detailed Description

Support algorithms and datastructures


Typedef Documentation

Definition at line 140 of file thread.hpp.


Enumeration Type Documentation

Status of a bitset.

Enumerator:
BSS_NONE 

No bits set.

BSS_ALL 

All bits set.

BSS_SOME 

Some but not all bits set.

Definition at line 130 of file bitset-base.hpp.

Description of integer types.

Enumerator:
IT_CHAR 

char integer type

IT_SHRT 

short integer type

IT_INT 

integer type

Definition at line 39 of file int-type.hpp.


Function Documentation

template<class A , class Char , class Traits >
std::basic_ostream<Char,Traits>& Gecode::Support::operator<< ( std::basic_ostream< Char, Traits > &  os,
const BitSetOffset< A > &  bs 
) [inline]

Definition at line 141 of file bitset-offset.hpp.

unsigned int Gecode::Support::hwrnd ( void   ) 

Return hardware generated random number.

IntType Gecode::Support::u_type ( unsigned int  n  )  [inline]

Return type required to represent n.

Definition at line 147 of file int-type.hpp.

IntType Gecode::Support::s_type ( signed int  n  ) 

Return type required to represent n.

IntType Gecode::Support::s_type ( int  n  )  [inline]

Definition at line 157 of file int-type.hpp.

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

Check whether p is marked.

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

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

Return marked pointer for unmarked pointer p.

Definition at line 58 of file marked-pointer.hpp.

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

Return unmarked pointer for a marked pointer p.

Definition at line 63 of file marked-pointer.hpp.

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

Return marked pointer for p (possibly already marked).

Definition at line 68 of file marked-pointer.hpp.

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

Return unmarked pointer for a possibly marked pointer p.

Definition at line 72 of file marked-pointer.hpp.

void * Gecode::Support::ptrsplit ( void *  p,
ptrdiff_t &  m 
) [inline]

Split possibly marked pointer p into mark m and unmarked pointer.

Definition at line 77 of file marked-pointer.hpp.

void * Gecode::Support::ptrjoin ( void *  p,
ptrdiff_t  m 
) [inline]

Join unmarked pointer p and m into marked pointer.

Definition at line 83 of file marked-pointer.hpp.

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

Exchange elements according to order.

Definition at line 42 of file sort.hpp.

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

Standard insertion sort.

Definition at line 97 of file sort.hpp.

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

Standard partioning.

Definition at line 113 of file sort.hpp.

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

Standard quick sort.

Definition at line 130 of file sort.hpp.

void* Gecode::Support::bootstrap ( void *  p  ) 

Function to start execution.

Definition at line 42 of file pthreads.cpp.


Variable Documentation

Perform quicksort only for more elements.

Definition at line 47 of file sort.hpp.