Gecode::Int::Count Namespace Reference

Counting propagators. More...

## Classes

class | IntBase
| Baseclass for count propagators (integer). More...
class | EqInt
| Propagator for counting views (equal integer to number of equal views) More...
class | GqInt
| Propagator for counting views (greater or equal integer to number of equal views) More...
class | LqInt
| Propagator for counting views (less or equal integer to number of equal views) More...
class | ViewBase
| Base-class for count propagators (view). More...
class | EqView
| Propagator for counting views (equal to number of equal views) More...
class | LqView
| Propagator for counting views (less or equal to number of equal views) More...
class | GqView
| Propagator for counting views (greater or equal to number of equal views) More...

## Functions

template<class VY>
bool | isintset (VY y)
| Return whether y is an integer set.
template<class VY>
bool | isval (VY y)
| Return whether y is a value.
template<class VY>
void | subscribe (Space &home, Propagator &p, VY y)
| Subscribe propagator p to view y.
template<class VY>
void | cancel (Space &home, Propagator &p, VY y)
| Cancel propagator p for view y.
template<class VY>
void | reschedule (Space &home, Propagator &p, VY y)
| Schedule propagator p for view y.
template<class VY>
void | update (VY &y, Space &home, bool shared, VY py)
| Update view y from py.
template<class VX>
RelTest | holds (VX x, VX y)
| Test whether x and y are equal.
template<class VX>
RelTest | holds (VX x, ConstIntView y)
| Test whether x and y are equal.
template<class VX>
RelTest | holds (VX x, ZeroIntView y)
| Test whether x and y are equal.
template<class VX>
RelTest | holds (VX x, const IntSet &y)
| Test whether x and y are equal.
template<class VX>
ExecStatus | post_true (Home home, ViewArray< VX > &x, VX y)
| Post that all views in x are equal to y.
template<class VX>
ExecStatus | post_true (Home home, ViewArray< VX > &x, ConstIntView y)
| Post that all views in x are equal to y.
template<class VX>
ExecStatus | post_true (Home home, ViewArray< VX > &x, ZeroIntView y)
| Post that all views in x are equal to y.
template<class VX>
ExecStatus | post_true (Home home, ViewArray< VX > &x, const IntSet &y)
| Post that all views in x are equal to y.
template<class VX>
ExecStatus | post_false (Home home, ViewArray< VX > &x, VX y)
| Post that all views in x are not equal to y.
template<class VX>
ExecStatus | post_false (Home home, ViewArray< VX > &x, ConstIntView y)
| Post that all views in x are not equal to y.
template<class VX>
ExecStatus | post_false (Home home, ViewArray< VX > &x, ZeroIntView y)
| Post that all views in x are not equal to y.
template<class VX>
ExecStatus | post_false (Home home, ViewArray< VX > &x, const IntSet &y)
| Post that all views in x are not equal to y.
template<class VX>
ExecStatus | prune (Home home, ViewArray< VX > &x, VX y)
| Prune that y is the union of x.
template<class VX>
ExecStatus | prune (Home home, ViewArray< VX > &x, ConstIntView y)
| Prune that y is the union of x.
template<class VX>
ExecStatus | prune (Home home, ViewArray< VX > &x, ZeroIntView y)
| Prune that y is the union of x.
template<class VX>
ExecStatus | prune (Home home, ViewArray< VX > &x, const IntSet &y)
| Prune that y is the union of x.
template<>
bool | isintset (IntSet y)
template<>
bool | isval (IntSet y)
void | subscribe (Space &home, Propagator &p, IntSet &y)
void | cancel (Space &home, Propagator &p, IntSet &y)
void | reschedule (Space &home, Propagator &p, IntSet &y)
void | update (IntSet &y, Space &home, IntSet &py)
template<class VY>
void | update (VY &y, Space &home, VY py)
template<class VX>
ExecStatus | post_true (Home home, VX x, ConstIntView y)
template<class VX>
ExecStatus | post_true (Home home, VX x, ZeroIntView)
template<class VX>
ExecStatus | post_true (Home home, VX x, const IntSet &y)
template<class VX>
ExecStatus | post_false (Home home, VX x, ConstIntView y)
template<class VX>
ExecStatus | post_false (Home home, VX x, ZeroIntView)
template<class VX>
ExecStatus | post_false (Home home, VX x, const IntSet &y)
template<class VX>
ExecStatus | post_true (Home home, VX x, VX y)
template<class VX>
ExecStatus | post_false (Home home, VX x, VX y)
template<class VX>
ExecStatus | prune (Space &home, ViewArray< VX > &x, ConstIntView)
template<class VX>
ExecStatus | prune (Space &home, ViewArray< VX > &x, ZeroIntView)
template<class VX>
ExecStatus | prune (Space &home, ViewArray< VX > &x, const IntSet &y)
template<class VX>
ExecStatus | prune (Space &home, ViewArray< VX > &x, VX y)
template<class VX>
bool | shared (const IntSet &, VX)

## Detailed Description

Counting propagators.

## Function Documentation

## isintset() [1/2]

template<class VY>

bool Gecode::Int::Count::isintset | ( | VY | y | ) |

inline

Return whether y is an integer set.

Relations for domain consistent counting

Definition at line 45 of file rel.hpp.

## isval() [1/2]

template<class VY>

bool Gecode::Int::Count::isval | ( | VY | y | ) |

inline

Return whether y is a value.

Definition at line 59 of file rel.hpp.

## subscribe() [1/2]

template<class VY>

void Gecode::Int::Count::subscribe | ( | Space & | home,
|  | Propagator & | p,
|  | VY | y )

inline

Subscribe propagator p to view y.

Definition at line 76 of file rel.hpp.

## cancel() [1/2]

template<class VY>

void Gecode::Int::Count::cancel | ( | Space & | home,
|  | Propagator & | p,
|  | VY | y )

inline

Cancel propagator p for view y.

Definition at line 87 of file rel.hpp.

## reschedule() [1/2]

template<class VY>

void Gecode::Int::Count::reschedule | ( | Space & | home,
|  | Propagator & | p,
|  | VY | y )

inline

Schedule propagator p for view y.

Definition at line 97 of file rel.hpp.

## update() [1/3]

template<class VY>

void Gecode::Int::Count::update | ( | VY & | y,
|  | Space & | home,
|  | bool | shared,
|  | VY | py )

Update view y from py.

## holds() [1/4]

template<class VX>

RelTest Gecode::Int::Count::holds | ( | VX | x,
|  | VX | y )

inline

Test whether x and y are equal.

Definition at line 145 of file rel.hpp.

## holds() [2/4]

template<class VX>

RelTest Gecode::Int::Count::holds | ( | VX | x,
|  | ConstIntView | y )

inline

Test whether x and y are equal.

Definition at line 115 of file rel.hpp.

## holds() [3/4]

template<class VX>

RelTest Gecode::Int::Count::holds | ( | VX | x,
|  | ZeroIntView | y )

inline

Test whether x and y are equal.

Definition at line 120 of file rel.hpp.

## holds() [4/4]

template<class VX>

RelTest Gecode::Int::Count::holds | ( | VX | x,
|  | const IntSet & | y )

inline

Test whether x and y are equal.

Definition at line 125 of file rel.hpp.

## post_true() [1/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_true | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | VX | y )

inline

Post that all views in x are equal to y.

Definition at line 237 of file rel.hpp.

## post_true() [2/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_true | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | ConstIntView | y )

inline

Post that all views in x are equal to y.

Definition at line 170 of file rel.hpp.

## post_true() [3/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_true | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | ZeroIntView | y )

inline

Post that all views in x are equal to y.

Definition at line 177 of file rel.hpp.

## post_true() [4/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_true | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | const IntSet & | y )

inline

Post that all views in x are equal to y.

Definition at line 184 of file rel.hpp.

## post_false() [1/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_false | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | VX | y )

inline

Post that all views in x are not equal to y.

Definition at line 251 of file rel.hpp.

## post_false() [2/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_false | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | ConstIntView | y )

inline

Post that all views in x are not equal to y.

Definition at line 213 of file rel.hpp.

## post_false() [3/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_false | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | ZeroIntView | y )

inline

Post that all views in x are not equal to y.

Definition at line 220 of file rel.hpp.

## post_false() [4/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_false | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | const IntSet & | y )

inline

Post that all views in x are not equal to y.

Definition at line 227 of file rel.hpp.

## prune() [1/8]

template<class VX>

ExecStatus Gecode::Int::Count::prune | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | VX | y )

Prune that y is the union of x.

## prune() [2/8]

template<class VX>

ExecStatus Gecode::Int::Count::prune | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | ConstIntView | y )

Prune that y is the union of x.

## prune() [3/8]

template<class VX>

ExecStatus Gecode::Int::Count::prune | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | ZeroIntView | y )

Prune that y is the union of x.

## prune() [4/8]

template<class VX>

ExecStatus Gecode::Int::Count::prune | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | const IntSet & | y )

Prune that y is the union of x.

## isintset() [2/2]

template<>

bool Gecode::Int::Count::isintset | ( | IntSet | y | ) |

inline

Definition at line 51 of file rel.hpp.

## isval() [2/2]

template<>

bool Gecode::Int::Count::isval | ( | IntSet | y | ) |

inline

Definition at line 64 of file rel.hpp.

## subscribe() [2/2]

void Gecode::Int::Count::subscribe | ( | Space & | home,
|  | Propagator & | p,
|  | IntSet & | y )

inline

Definition at line 71 of file rel.hpp.

## cancel() [2/2]

void Gecode::Int::Count::cancel | ( | Space & | home,
|  | Propagator & | p,
|  | IntSet & | y )

inline

Definition at line 81 of file rel.hpp.

## reschedule() [2/2]

void Gecode::Int::Count::reschedule | ( | Space & | home,
|  | Propagator & | p,
|  | IntSet & | y )

inline

Definition at line 92 of file rel.hpp.

## update() [2/3]

void Gecode::Int::Count::update | ( | IntSet & | y,
|  | Space & | home,
|  | IntSet & | py )

inline

Definition at line 103 of file rel.hpp.

## update() [3/3]

template<class VY>

void Gecode::Int::Count::update | ( | VY & | y,
|  | Space & | home,
|  | VY | py )

inline

Definition at line 109 of file rel.hpp.

## post_true() [5/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_true | ( | Home | home,
|  | VX | x,
|  | ConstIntView | y )

inline

Definition at line 151 of file rel.hpp.

## post_true() [6/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_true | ( | Home | home,
|  | VX | x,
|  | ZeroIntView | )

inline

Definition at line 157 of file rel.hpp.

## post_true() [7/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_true | ( | Home | home,
|  | VX | x,
|  | const IntSet & | y )

inline

Definition at line 163 of file rel.hpp.

## post_false() [5/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_false | ( | Home | home,
|  | VX | x,
|  | ConstIntView | y )

inline

Definition at line 194 of file rel.hpp.

## post_false() [6/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_false | ( | Home | home,
|  | VX | x,
|  | ZeroIntView | )

inline

Definition at line 200 of file rel.hpp.

## post_false() [7/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_false | ( | Home | home,
|  | VX | x,
|  | const IntSet & | y )

inline

Definition at line 206 of file rel.hpp.

## post_true() [8/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_true | ( | Home | home,
|  | VX | x,
|  | VX | y )

inline

Definition at line 246 of file rel.hpp.

## post_false() [8/8]

template<class VX>

ExecStatus Gecode::Int::Count::post_false | ( | Home | home,
|  | VX | x,
|  | VX | y )

inline

Definition at line 258 of file rel.hpp.

## prune() [5/8]

template<class VX>

ExecStatus Gecode::Int::Count::prune | ( | Space & | home,
|  | ViewArray< VX > & | x,
|  | ConstIntView | )

inline

Definition at line 264 of file rel.hpp.

## prune() [6/8]

template<class VX>

ExecStatus Gecode::Int::Count::prune | ( | Space & | home,
|  | ViewArray< VX > & | x,
|  | ZeroIntView | )

inline

Definition at line 271 of file rel.hpp.

## prune() [7/8]

template<class VX>

ExecStatus Gecode::Int::Count::prune | ( | Space & | home,
|  | ViewArray< VX > & | x,
|  | const IntSet & | y )

inline

Definition at line 278 of file rel.hpp.

## prune() [8/8]

template<class VX>

ExecStatus Gecode::Int::Count::prune | ( | Space & | home,
|  | ViewArray< VX > & | x,
|  | VX | y )

inline

Definition at line 286 of file rel.hpp.

## shared()

template<class VX>

bool Gecode::Int::Count::shared | ( | const IntSet & | ,
|  | VX | )

inline

Definition at line 118 of file view-base.hpp.