34namespace Gecode {
namespace Support {
51 Runnable::operator
delete(
void*
p) {
55 Runnable::operator
new(
size_t s) {
64 Mutex::operator
new(
size_t s) {
69 Mutex::operator
delete(
void*
p) {
73#if ! ( defined(GECODE_THREADS_WINDOWS) || defined(GECODE_THREADS_OSX_UNFAIR) || !defined(GECODE_THREADS_PTHREADS_SPINLOCK) )
80 FastMutex::operator
new(
size_t s) {
85 FastMutex::operator
delete(
void*
p) {
128 Thread::Run::operator
delete(
void*
p) {
132 Thread::Run::operator
new(
size_t s) {
int p
Number of positive literals for node type.
void rfree(void *p)
Free memory block starting at p.
void * ralloc(size_t s)
Allocate s bytes from heap.
void signal(void)
Signal the event.
Lock(Mutex &m0)
Enter lock.
A mutex for mutual exclausion among several threads.
void release(void)
Release the mutex.
void acquire(void)
Acquire the mutex and possibly block.
An interface for objects that can be run by a thread.
Runnable(bool d=true)
Initialize, d defines whether object is deleted when terminated.
bool todelete(void) const
Return whether to be deleted upon termination.
void run(Runnable *r)
Run a runnable object.
Event e
Event to wait for next runnable object to execute.
Runnable * r
Runnable object to execute.
Mutex m
Mutex for synchronization.
static Run * idle
Idle runners.
static void run(Runnable *r)
Construct a new thread and run r.
static Mutex * m(void)
Mutex for synchronization.
Heap heap
The single global heap.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r