Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0

Base-class for knight's tour example. More...

Public Types

enum  { PROP_REIFIED , PROP_CIRCUIT }
 Propagation to use for model. More...
 
enum  { BRANCH_NAIVE , BRANCH_WARNSDORFF }
 Branching to use for model. More...
 

Public Member Functions

int f (int x, int y) const
 Return field at position x, y.
 
int x (int f) const
 Return x coordinate at field f.
 
int y (int f) const
 Return y coordinate at field f.
 
IntSet neighbors (int i)
 Compute set of neighbour fields.
 
 Knights (const SizeOptions &opt)
 Constructor.
 
 Knights (Knights &s)
 Constructor for cloning s.
 
virtual void print (std::ostream &os) const
 Print board.
 
- Public Member Functions inherited from Gecode::Driver::ScriptBase< BaseSpace >
 ScriptBase (const Options &opt)
 Constructor.
 
 ScriptBase (ScriptBase &e)
 Constructor used for cloning.
 
virtual void compare (const Space &home, std::ostream &os) const
 Compare with s.
 

Public Attributes

const int n
 Size of board.
 
IntVarArray succ
 Maps board field to successor field.
 

Related Symbols

(Note that these are not member symbols.)

int main (int argc, char *argv[])
 Main-function.
 

Additional Inherited Members

- Static Public Member Functions inherited from Gecode::Driver::ScriptBase< BaseSpace >
static std::ostream & select_ostream (const char *sn, std::ofstream &ofs)
 Choose output stream according to sn.
 
template<class Script , template< class > class Engine, class Options >
static void run (const Options &opt, Script *s=NULL)
 

Detailed Description

Base-class for knight's tour example.

Definition at line 160 of file knights.cpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Propagation to use for model.

Enumerator
PROP_REIFIED 

Use reified constraints.

PROP_CIRCUIT 

Use single circuit constraints.

Definition at line 167 of file knights.cpp.

◆ anonymous enum

anonymous enum

Branching to use for model.

Enumerator
BRANCH_NAIVE 

Use naive, lexicographical branching.

BRANCH_WARNSDORFF 

Use Warnsdorff's rule.

Definition at line 172 of file knights.cpp.

Constructor & Destructor Documentation

◆ Knights() [1/2]

Knights::Knights ( const SizeOptions & opt)
inline

Constructor.

Definition at line 202 of file knights.cpp.

◆ Knights() [2/2]

Knights::Knights ( Knights & s)
inline

Constructor for cloning s.

Definition at line 214 of file knights.cpp.

Member Function Documentation

◆ f()

int Knights::f ( int x,
int y ) const
inline

Return field at position x, y.

Definition at line 177 of file knights.cpp.

◆ x()

int Knights::x ( int f) const
inline

Return x coordinate at field f.

Definition at line 181 of file knights.cpp.

◆ y()

int Knights::y ( int f) const
inline

Return y coordinate at field f.

Definition at line 185 of file knights.cpp.

◆ neighbors()

IntSet Knights::neighbors ( int i)
inline

Compute set of neighbour fields.

Definition at line 189 of file knights.cpp.

◆ print()

virtual void Knights::print ( std::ostream & os) const
inlinevirtual

Print board.

Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.

Definition at line 219 of file knights.cpp.

Friends And Related Symbol Documentation

◆ main()

int main ( int argc,
char * argv[] )
related

Main-function.

Definition at line 407 of file knights.cpp.

Member Data Documentation

◆ n

const int Knights::n

Size of board.

Definition at line 163 of file knights.cpp.

◆ succ

IntVarArray Knights::succ

Maps board field to successor field.

Definition at line 165 of file knights.cpp.


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