Generated on Fri Mar 20 15:56:40 2015 for Gecode by doxygen 1.6.3

Crossword Class Reference
[Example scripts (models)]

Example: Crossword puzzle More...

List of all members.

Public Types

enum  { BRANCH_WORDS, BRANCH_LETTERS, BRANCH_LETTERS_ALL }
 

Branching to use for model.

More...

Public Member Functions

 Crossword (const SizeOptions &opt)
 Actual model.
bool master (const CRI &cri)
 Do not perform a restart when a solution is found.
 Crossword (bool share, Crossword &s)
 Constructor for cloning s.
virtual Spacecopy (bool share)
 Copy during cloning.
virtual void print (std::ostream &os) const
 Print solution.

Static Public Member Functions

static void printletters (const Space &home, const BrancherHandle &, unsigned int a, IntVar, int i, const int &n, std::ostream &o)
 Print brancher information when branching on letters.
static void printwords (const Space &, const BrancherHandle &, unsigned int a, IntVar, int i, const int &n, std::ostream &o)
 Print brancher information when branching on words.

Protected Attributes

const int w
 Width of crossword grid.
const int h
 Height of crossword grid.
IntVarArray letters
 Letters for grid.

Detailed Description

Example: Crossword puzzle

Fill crossword grids with words, that is construct a crossword puzzle. For a recent paper on this classical problem, see: Crossword Puzzles as a Constraint Problem, Anbulagan and Adi Botea, CP 2008, pages 550-554, Springer Verlag.

Note that "Modeling and Programming with Gecode" uses this example as a case study.

Definition at line 70 of file crossword.cpp.


Member Enumeration Documentation

anonymous enum

Branching to use for model.

Enumerator:
BRANCH_WORDS 

Branch on the words.

BRANCH_LETTERS 

Branch on the letters.

BRANCH_LETTERS_ALL 

Branch on the letters (try all values).

Definition at line 80 of file crossword.cpp.


Constructor & Destructor Documentation

Crossword::Crossword ( const SizeOptions opt  )  [inline]

Actual model.

Definition at line 86 of file crossword.cpp.

Crossword::Crossword ( bool  share,
Crossword s 
) [inline]

Constructor for cloning s.

Definition at line 195 of file crossword.cpp.


Member Function Documentation

static void Crossword::printletters ( const Space home,
const BrancherHandle ,
unsigned int  a,
IntVar  ,
int  i,
const int &  n,
std::ostream &  o 
) [inline, static]

Print brancher information when branching on letters.

Definition at line 167 of file crossword.cpp.

static void Crossword::printwords ( const Space ,
const BrancherHandle ,
unsigned int  a,
IntVar  ,
int  i,
const int &  n,
std::ostream &  o 
) [inline, static]

Print brancher information when branching on words.

Definition at line 178 of file crossword.cpp.

bool Crossword::master ( const CRI cri  )  [inline]

Do not perform a restart when a solution is found.

Definition at line 187 of file crossword.cpp.

virtual Space* Crossword::copy ( bool  share  )  [inline, virtual]

Copy during cloning.

Definition at line 201 of file crossword.cpp.

virtual void Crossword::print ( std::ostream &  os  )  const [inline, virtual]

Print solution.

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

Definition at line 206 of file crossword.cpp.


Member Data Documentation

const int Crossword::w [protected]

Width of crossword grid.

Definition at line 73 of file crossword.cpp.

const int Crossword::h [protected]

Height of crossword grid.

Definition at line 75 of file crossword.cpp.

Letters for grid.

Definition at line 77 of file crossword.cpp.


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