Generated on Thu Mar 16 2017 03:24:28 for Gecode by doxygen 1.8.13
Gecode::ActorLink Class Reference

Double-linked list for actors. More...

#include <core.hpp>

Public Member Functions

void init (void)
 Initialize links (self-linked) More...
 
void unlink (void)
 Remove from predecessor and successor. More...
 
void head (ActorLink *al)
 Insert al directly after this. More...
 
void tail (ActorLink *al)
 Insert al directly before this. More...
 
bool empty (void) const
 Test whether actor link is empty (points to itself) More...
 

Static Public Member Functions

template<class T >
static ActorLinkcast (T *a)
 Static cast for a non-null pointer (to give a hint to optimizer) More...
 
template<class T >
static const ActorLinkcast (const T *a)
 Static cast for a non-null pointer (to give a hint to optimizer) More...
 
ActorLinkprev (void) const
 Routines for double-linked list. More...
 
void prev (ActorLink *)
 Routines for double-linked list. More...
 
ActorLinknext (void) const
 Routines for double-linked list. More...
 
void next (ActorLink *)
 Routines for double-linked list. More...
 
ActorLink ** next_ref (void)
 Routines for double-linked list. More...
 

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 643 of file core.hpp.

Member Function Documentation

◆ prev() [1/2]

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

Routines for double-linked list.

Definition at line 3140 of file core.hpp.

◆ prev() [2/2]

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

Routines for double-linked list.

Definition at line 3155 of file core.hpp.

◆ next() [1/2]

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

Routines for double-linked list.

Definition at line 3145 of file core.hpp.

◆ next() [2/2]

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

Routines for double-linked list.

Definition at line 3160 of file core.hpp.

◆ next_ref()

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

Routines for double-linked list.

Definition at line 3150 of file core.hpp.

◆ init()

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

Initialize links (self-linked)

Definition at line 3171 of file core.hpp.

◆ unlink()

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

Remove from predecessor and successor.

Definition at line 3165 of file core.hpp.

◆ head()

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

Insert al directly after this.

Definition at line 3176 of file core.hpp.

◆ tail()

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

Insert al directly before this.

Definition at line 3184 of file core.hpp.

◆ empty()

bool Gecode::ActorLink::empty ( void  ) const
inline

Test whether actor link is empty (points to itself)

Definition at line 3192 of file core.hpp.

◆ cast() [1/2]

template<class T >
ActorLink * Gecode::ActorLink::cast ( T *  a)
inlinestatic

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

Definition at line 3198 of file core.hpp.

◆ cast() [2/2]

template<class T >
const ActorLink * Gecode::ActorLink::cast ( const T *  a)
inlinestatic

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

Definition at line 3207 of file core.hpp.


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