48 Object::createString<DemandDefault>,
true);
58 double delta(f - qty);
77 for (OperationPlan_list::iterator i = deli.begin(); i!=deli.end(); ++i)
78 if (deleteLocked || !(*i)->getLocked())
83 if (!candidate)
break;
104 throw LogicException(
"Delivery operationplan incorrectly registered");
111 OperationPlan_list::iterator j = deli.begin();
112 while (j!=deli.end() && *j!=o) ++j;
134 for (
bool swapped(!deli.empty()); swapped; swapped=
false)
136 OperationPlan_list::iterator j =
const_cast<Demand*
>(
this)->deli.begin();
138 for (OperationPlan_list::iterator i =
139 const_cast<Demand*>(
this)->deli.begin();
140 j!=
const_cast<Demand*
>(
this)->deli.end(); ++j)
142 if ((*i)->getDates().getEnd() < (*j)->getDates().getEnd())
162 return l.empty() ? NULL : *(l.begin());
170 for (Demand::OperationPlan_list::const_iterator i = l.begin(); i!=l.end(); ++i)
184 for (OperationPlan_list::iterator i = deli.begin(); i!=deli.end(); ++i)
194 OperationPlan_list::iterator j = deli.begin();
195 while (j!=deli.end() && (*j)->getDates().getEnd()>o->
getDates().
getEnd()) ++j;
208 <<
"' different than expected '" << tmpOper
209 <<
"' for demand '" <<
this <<
"'" << endl;
216 if (oper)
return oper;
226 double delivered(0.0);
227 for (OperationPlan_list::const_iterator i=deli.begin(); i!=deli.end(); ++i)
228 delivered += (*i)->getQuantity();
268 for (OperationPlan_list::const_iterator i=deli.begin(); i!=deli.end(); ++i)
272 if (!constraints.
empty())
311 else throw LogicException(
"Incorrect object type during read operation");
317 else throw LogicException(
"Incorrect object type during read operation");
323 else throw LogicException(
"Incorrect object type during read operation");
334 else throw LogicException(
"Incorrect object type during read operation");
404 Item* y =
static_cast<Item*
>(
static_cast<PyObject*
>(field));
434 Demand* y =
static_cast<Demand*
>(
static_cast<PyObject*
>(field));
459 x.
setName(
"demandplanIterator");
460 x.
setDoc(
"frePPLe iterator for demand delivery operationplans");
466 PyObject* DemandPlanIterator::iternext()