Domino Class Reference
Example scripts (models)

Example: Solitaire domino More...

## Public Types

enum | { PROP_ELEMENT , PROP_EXTENSIONAL }
| Propagation to use for model. More...

## Public Member Functions

| Domino (const SizeOptions &opt)
| Actual model.
virtual void | print (std::ostream &os) const
| Print solution.
| Domino (Domino &s)
| Constructor for cloning s.
virtual Space * | copy (void)
| Copy space during cloning.
Public Member Functions inherited from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< Space > >
| 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 Member Functions inherited from Gecode::Driver::IgnoreStepOption< BaseSpace >
| IgnoreStepOption (const Options &)
| Constructor.
| IgnoreStepOption (BaseSpace &e)
| Constructor used for cloning.

## Related Symbols

(Note that these are not member symbols.)
const unsigned int | n_examples
| Number of board specifications.
int | main (int argc, char *argv[])
| Main-function.

## Puzzle specifications

const int * | specs []
| Board specifications.
const int | domino0 []
| Example 0
const int | domino1 []
| Example 1
const int | domino2 []
| Example 2
const int | domino3 []
| Example 3
const int | domino4 []
| Example 4
const int | domino5 []
| Example 5
const unsigned | n_examples = sizeof(specs)/sizeof(int*)
| Number of specifications.

## Additional Inherited Members

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

## Detailed Description

Example: Solitaire domino

The task is to place domino pieces on a board. Each piece covers two fields and has two numbers. There are 28 pieces, from 0-0 to 6-6. The board is set up with a number in each field that must match the number of the domino piece placed on that field.

Definition at line 68 of file domino.cpp.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Propagation to use for model.

Enumerator
PROP_ELEMENT | Use element constraints.
PROP_EXTENSIONAL | Use extensional constraints.

Definition at line 82 of file domino.cpp.

## Constructor & Destructor Documentation

## Domino() [1/2]

Domino::Domino | ( | const SizeOptions & | opt | ) |

inline

Actual model.

Definition at line 88 of file domino.cpp.

## Domino() [2/2]

Domino::Domino | ( | Domino & | s | ) |

inline

Constructor for cloning s.

Definition at line 206 of file domino.cpp.

## Member Function Documentation

## print()

virtual void Domino::print | ( | std::ostream & | os | ) | const

inline virtual

Print solution.

Reimplemented from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< Space > >.

Definition at line 193 of file domino.cpp.

## copy()

virtual Space * Domino::copy | ( | void |  | ) |

inline virtual

Copy space during cloning.

Definition at line 212 of file domino.cpp.

## Friends And Related Symbol Documentation

## specs

const int * specs

related

Initial value:
=
{domino0,domino1,domino2,domino3,domino4,domino5}
Domino::domino1
const int domino1[]
Example 1
Definition domino.cpp:263
Domino::domino3
const int domino3[]
Example 3
Definition domino.cpp:291
Domino::domino0
const int domino0[]
Example 0
Definition domino.cpp:249
Domino::domino5
const int domino5[]
Example 5
Definition domino.cpp:319
Domino::domino2
const int domino2[]
Example 2
Definition domino.cpp:277
Domino::domino4
const int domino4[]
Example 4
Definition domino.cpp:305

Board specifications.

List of specifications.

Definition at line 48 of file domino.cpp.

## n_examples [1/2]

const unsigned int n_examples

related

Number of board specifications.

Definition at line 53 of file domino.cpp.

## domino0

const int domino0[]

related

Initial value:
=
{
8,7,
2,1,0,3,0,4,5,5,
6,2,0,6,3,1,4,0,
3,2,3,6,2,5,4,3,
5,4,5,1,1,2,1,2,
0,0,1,5,0,5,4,4,
4,6,2,1,3,6,6,1,
4,2,0,6,5,3,3,6
}

Example 0

Definition at line 249 of file domino.cpp.

## domino1

const int domino1[]

related

Initial value:
=
{
8,7,
5,1,2,4,6,2,0,5,
6,6,4,3,5,0,1,5,
2,0,4,0,4,0,5,0,
6,1,3,6,3,5,4,3,
3,1,0,1,2,2,1,4,
3,6,6,2,4,0,5,4,
1,3,6,1,2,3,5,2
}

Example 1

Definition at line 263 of file domino.cpp.

## domino2

const int domino2[]

related

Initial value:
=
{
8,7,
4,4,5,4,0,3,6,5,
1,6,0,1,5,3,4,1,
2,6,2,2,5,3,6,0,
1,3,0,6,4,4,2,3,
3,5,5,2,4,2,2,1,
2,1,3,3,5,6,6,1,
5,1,6,0,0,0,4,0
}

Example 2

Definition at line 277 of file domino.cpp.

## domino3

const int domino3[]

related

Initial value:
=
{
8,7,
3,0,2,3,3,4,4,3,
6,5,3,4,2,0,2,1,
6,5,1,2,3,0,2,0,
4,5,4,1,6,6,2,5,
4,3,6,1,0,4,5,5,
1,3,2,5,6,0,0,1,
0,5,4,6,2,1,6,1
}

Example 3

Definition at line 291 of file domino.cpp.

## domino4

const int domino4[]

related

Initial value:
=
{
8,7,
4,1,5,2,4,4,6,2,
2,5,6,1,4,6,0,2,
6,5,1,1,0,1,4,3,
6,2,1,1,3,2,0,6,
3,6,3,3,5,5,0,5,
3,0,1,0,0,5,4,3,
3,2,4,5,4,2,6,0
}

Example 4

Definition at line 305 of file domino.cpp.

## domino5

const int domino5[]

related

Initial value:
=
{
8,7,
4,1,2,1,0,2,4,4,
5,5,6,6,0,4,6,3,
6,0,5,1,1,0,5,3,
3,4,2,2,0,3,1,2,
3,6,5,6,1,2,3,2,
2,5,0,6,6,3,3,5,
4,1,0,0,4,1,4,5
}

Example 5

Definition at line 319 of file domino.cpp.

## n_examples [2/2]

const unsigned n_examples = sizeof(specs)/sizeof(int*)

related

Number of specifications.

Definition at line 336 of file domino.cpp.

## main()

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

related

Main-function.

Definition at line 223 of file domino.cpp.

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

- examples/domino.cpp