44 namespace Gecode {
namespace Set {
namespace Precede {
65 }
else if (
x[
alpha].contains(
t)) {
81 }
while ((
beta < n) &&
93 int s0,
int t0,
int b,
int g)
96 for (
int i=
x.size();
i--; )
107 while (alpha < x.
size()) {
108 if (x[alpha].notContains(s)) {
110 }
else if (x[alpha].contains(t)) {
122 int beta = 0, gamma = 0;
125 }
while ((gamma < x.
size()) &&
126 (!x[gamma].notContains(s) || !x[gamma].contains(t)));
129 }
while ((beta < x.
size()) &&
130 (x[beta].notContains(s) || x[beta].contains(t)));
136 if (gamma < x.
size())
138 (void)
new (home)
Single<View>(home, x, s, t, beta, gamma);
149 alpha(p.alpha), beta(p.beta), gamma(p.gamma) {
150 c.update(home, share, p.
c);
158 while ((i < alpha) && x[i].
assigned())
163 alpha -=
i; beta -=
i; gamma -=
i;
166 if (gamma < x.size()) {
168 while ((i > gamma) && x[i].
assigned())
181 x[as.advisor().i].cancel(home,as.advisor());
184 return sizeof(*this);
196 Index&
a(static_cast<Index&>(a0));
199 if ((beta <= gamma) && (i < gamma) &&
200 x[i].notContains(s) && x[i].contains(t))
206 }
else if ((i < alpha) || (i > gamma)) {
213 if ((alpha == i) || (beta ==
i))
227 if (alpha < n && (x[alpha].notContains(s) || x[alpha].contains(t))) {
228 if (x[alpha].notContains(s)) {
234 while (alpha < beta) {
235 if (x[alpha].notContains(s)) {
246 }
else if ((beta < n) && (x[beta].notContains(s) || x[beta].contains(t))) {