Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
Gecode::Int::Count Namespace Reference

Counting propagators. More...

Classes

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