Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
Gecode::Search::Par::Path< Tracer >::Edge Class Reference

Search tree edge for recomputation More...

#include <path.hh>

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

◆ Edge() [1/2]

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

Default constructor.

Definition at line 42 of file path.hpp.

◆ Edge() [2/2]

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

◆ space() [1/2]

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.

◆ space() [2/2]

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.

◆ choice()

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.

◆ alt()

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.

◆ truealt()

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.

◆ rightmost()

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.

◆ lao()

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.

◆ work()

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.

◆ next()

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.

◆ steal()

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.

◆ nid()

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.

◆ dispose()

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

◆ _space

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.

◆ _alt

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

Current alternative.

Definition at line 71 of file path.hh.

◆ _alt_max

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.

◆ _choice

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

Choice.

Definition at line 75 of file path.hh.

◆ _nid

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: