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

Gecode::ActorLink Class Reference

Inherited by Gecode::Actor [private], and Gecode::Advisor [private].

List of all members.


Detailed Description

Double-linked list for actors.

Used to maintain which actors belong to a space and also (for propagators) to organize actors in the queue of waiting propagators.

Definition at line 514 of file core.icc.

ActorLinkprev (void) const
 Routines for double-linked list.
void prev (ActorLink *)
 Routines for double-linked list.
ActorLinknext (void) const
 Routines for double-linked list.
void next (ActorLink *)
 Routines for double-linked list.
ActorLink ** next_ref (void)
 Routines for double-linked list.

Public Member Functions

void init (void)
 Initialize links (self-linked).
void unlink (void)
 Remove from predecessor and successor.
void head (ActorLink *al)
 Insert al directly after this.
void tail (ActorLink *al)
 Insert al directly before this.

Static Public Member Functions

template<class T>
static ActorLinkcast (T *a)
 Static cast for a non-null pointer (to give a hint to optimizer).
template<class T>
static const ActorLinkcast (const T *a)
 Static cast for a non-null pointer (to give a hint to optimizer).

Member Function Documentation

ActorLink * Gecode::ActorLink::prev ( void   )  const [inline]

Routines for double-linked list.

Definition at line 1488 of file core.icc.

void Gecode::ActorLink::prev ( ActorLink al  )  [inline]

Routines for double-linked list.

Definition at line 1503 of file core.icc.

ActorLink * Gecode::ActorLink::next ( void   )  const [inline]

Routines for double-linked list.

Definition at line 1493 of file core.icc.

void Gecode::ActorLink::next ( ActorLink al  )  [inline]

Routines for double-linked list.

Definition at line 1508 of file core.icc.

ActorLink ** Gecode::ActorLink::next_ref ( void   )  [inline]

Routines for double-linked list.

Definition at line 1498 of file core.icc.

void Gecode::ActorLink::init ( void   )  [inline]

Initialize links (self-linked).

Definition at line 1519 of file core.icc.

void Gecode::ActorLink::unlink ( void   )  [inline]

Remove from predecessor and successor.

Definition at line 1513 of file core.icc.

void Gecode::ActorLink::head ( ActorLink al  )  [inline]

Insert al directly after this.

Definition at line 1524 of file core.icc.

void Gecode::ActorLink::tail ( ActorLink al  )  [inline]

Insert al directly before this.

Definition at line 1532 of file core.icc.

template<class T>
ActorLink * Gecode::ActorLink::cast ( T *  a  )  [inline, static]

Static cast for a non-null pointer (to give a hint to optimizer).

Definition at line 1541 of file core.icc.

template<class T>
const ActorLink * Gecode::ActorLink::cast ( const T *  a  )  [inline, static]

Static cast for a non-null pointer (to give a hint to optimizer).

Definition at line 1550 of file core.icc.


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