Gecode::ActorLink Class Reference

Double-linked list for actors. More...

`#include <core.hpp>`

## Public Member Functions

ActorLink * | prev (void) const
| Routines for double-linked list.
void | prev (ActorLink *)
ActorLink * | next (void) const
void | next (ActorLink *)
ActorLink ** | next_ref (void)
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.
bool | empty (void) const
| Test whether actor link is empty (points to itself).

## Static Public Member Functions

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

## 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 589 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 3123 of file core.hpp.

## prev() [2/2]

void Gecode::ActorLink::prev | ( | ActorLink * | al | ) |

inline

Definition at line 3138 of file core.hpp.

## next() [1/2]

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

inline

Definition at line 3128 of file core.hpp.

## next() [2/2]

void Gecode::ActorLink::next | ( | ActorLink * | al | ) |

inline

Definition at line 3143 of file core.hpp.

## next_ref()

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

inline

Definition at line 3133 of file core.hpp.

## init()

void Gecode::ActorLink::init | ( | void |  | ) |

inline

Initialize links (self-linked).

Definition at line 3154 of file core.hpp.

## unlink()

void Gecode::ActorLink::unlink | ( | void |  | ) |

inline

Remove from predecessor and successor.

Definition at line 3148 of file core.hpp.

## head()

void Gecode::ActorLink::head | ( | ActorLink * | al | ) |

inline

Insert al directly after this.

Definition at line 3159 of file core.hpp.

## tail()

void Gecode::ActorLink::tail | ( | ActorLink * | al | ) |

inline

Insert al directly before this.

Definition at line 3167 of file core.hpp.

## empty()

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

inline

Test whether actor link is empty (points to itself).

Definition at line 3175 of file core.hpp.

## cast() [1/2]

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

## cast() [2/2]

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

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

- gecode/kernel/core.hpp