42 namespace Gecode {
namespace Int {
namespace Channel {
60 bool doval(
void)
const;
62 bool dodom(
void)
const;
80 view.update(home,share,vi.
view);
a = vi.
a;
86 return !
a && view.assigned();
111 template<
class View,
class Offset,
class Info>
118 int j = ox(x[i].view).val();
121 ModEvent me = oy(y[j].view).eq(home,i);
130 for (
int k=i; k--; ) {
131 ModEvent me = ox(x[k].view).nq(home,j);
148 for (
int k=i+1; k<
n; k++) {
149 ModEvent me = ox(x[k].view).nq(home,j);
165 x[
i].assigned(); n_na--;
166 }
while (!xa.
empty());
171 template<
class View,
class Offset,
class Info>
177 return doprop_val<View,Offset,Info>(home,
n,
x,ox,y,oy,n_na,xa,ya);
184 template<
class View,
class Offset,
bool shared>
190 template<
class View,
class Offset,
bool shared>
196 template<
class View,
class Offset,
bool shared>
202 template<
class View,
class Offset,
bool shared>
213 for (
int i = n;
i--; ) {
214 if (x[
i].doval()) xa.
push(
i);
215 if (y[
i].doval()) ya.
push(
i);
221 (home,n,x,ox,y,oy,n_na,xa,ya)));
224 (home,n,y,oy,x,ox,n_na,ya,xa)));
226 }
while (!xa.
empty());
233 template<
class View,
class Offset,
bool shared>
243 for (
int i=n;
i--; ) {