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

Gecode::Search::Par::Path< Tracer >::Edge Class Reference

Search tree edge for recomputation More...

#include <path.hh>

List of all members.

Public Member Functions

 Edge (void)
 Default constructor.
 Edge (Space *s, Space *c, unsigned int nid)
 Edge for space s with clone c (possibly NULL).
Spacespace (void) const
 Return space for edge.
void space (Space *s)
 Set space to s.
const Choicechoice (void) const
 Return choice.
unsigned int alt (void) const
 Return number for alternatives.
unsigned int truealt (void) const
 Return true number for alternatives (excluding lao optimization).
bool rightmost (void) const
 Test whether current alternative is rightmost.
bool lao (void) const
 Test whether current alternative was LAO.
bool work (void) const
 Test whether there is an alternative that can be stolen.
void next (void)
 Move to next alternative.
unsigned int steal (void)
 Steal rightmost alternative and return its number.
unsigned int nid (void) const
 Return node identifier.
void dispose (void)
 Free memory for edge.

Protected Attributes

Space_space
 Space corresponding to this edge (might be NULL).
unsigned int _alt
 Current alternative.
unsigned int _alt_max
 Number of alternatives left.
const Choice_choice
 Choice.
ID _nid
 Node identifier.

Detailed Description

template<class Tracer>
class Gecode::Search::Par::Path< Tracer >::Edge

Search tree edge for recomputation

Definition at line 66 of file path.hh.


Constructor & Destructor Documentation

template<class Tracer >
Gecode::Search::Par::Path< Tracer >::Edge::Edge ( void   )  [inline]

Default constructor.

Definition at line 42 of file path.hpp.

template<class Tracer >
Gecode::Search::Par::Path< Tracer >::Edge::Edge ( Space s,
Space c,
unsigned int  nid 
) [inline]

Edge for space s with clone c (possibly NULL).

Definition at line 46 of file path.hpp.


Member Function Documentation

template<class Tracer >
Space * Gecode::Search::Par::Path< Tracer >::Edge::space ( void   )  const [inline]

Return space for edge.

Definition at line 53 of file path.hpp.

template<class Tracer >
void Gecode::Search::Par::Path< Tracer >::Edge::space ( Space s  )  [inline]

Set space to s.

Definition at line 58 of file path.hpp.

template<class Tracer >
const Choice * Gecode::Search::Par::Path< Tracer >::Edge::choice ( void   )  const [inline]

Return choice.

Definition at line 108 of file path.hpp.

template<class Tracer >
unsigned int Gecode::Search::Par::Path< Tracer >::Edge::alt ( void   )  const [inline]

Return number for alternatives.

Definition at line 64 of file path.hpp.

template<class Tracer >
unsigned int Gecode::Search::Par::Path< Tracer >::Edge::truealt ( void   )  const [inline]

Return true number for alternatives (excluding lao optimization).

Definition at line 76 of file path.hpp.

template<class Tracer >
bool Gecode::Search::Par::Path< Tracer >::Edge::rightmost ( void   )  const [inline]

Test whether current alternative is rightmost.

Definition at line 81 of file path.hpp.

template<class Tracer >
bool Gecode::Search::Par::Path< Tracer >::Edge::lao ( void   )  const [inline]

Test whether current alternative was LAO.

Definition at line 86 of file path.hpp.

template<class Tracer >
bool Gecode::Search::Par::Path< Tracer >::Edge::work ( void   )  const [inline]

Test whether there is an alternative that can be stolen.

Definition at line 91 of file path.hpp.

template<class Tracer >
void Gecode::Search::Par::Path< Tracer >::Edge::next ( void   )  [inline]

Move to next alternative.

Definition at line 96 of file path.hpp.

template<class Tracer >
unsigned int Gecode::Search::Par::Path< Tracer >::Edge::steal ( void   )  [inline]

Steal rightmost alternative and return its number.

Definition at line 101 of file path.hpp.

template<class Tracer >
unsigned int Gecode::Search::Par::Path< Tracer >::Edge::nid ( void   )  const [inline]

Return node identifier.

Definition at line 70 of file path.hpp.

template<class Tracer >
void Gecode::Search::Par::Path< Tracer >::Edge::dispose ( void   )  [inline]

Free memory for edge.

Definition at line 114 of file path.hpp.


Member Data Documentation

template<class Tracer >
Space* Gecode::Search::Par::Path< Tracer >::Edge::_space [protected]

Space corresponding to this edge (might be NULL).

Definition at line 69 of file path.hh.

template<class Tracer >
unsigned int Gecode::Search::Par::Path< Tracer >::Edge::_alt [protected]

Current alternative.

Definition at line 71 of file path.hh.

template<class Tracer >
unsigned int Gecode::Search::Par::Path< Tracer >::Edge::_alt_max [protected]

Number of alternatives left.

Definition at line 73 of file path.hh.

template<class Tracer >
const Choice* Gecode::Search::Par::Path< Tracer >::Edge::_choice [protected]

Choice.

Definition at line 75 of file path.hh.

template<class Tracer >
ID Gecode::Search::Par::Path< Tracer >::Edge::_nid [protected]

Node identifier.

Definition at line 77 of file path.hh.


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