Represents a routing operation, i.e. an operation consisting of multiple, sequential sub-operations. More...
#include <model.h>
Public Member Functions | |
void | addStepBack (Operation *o) |
void | addStepFront (Operation *o) |
void | beginElement (XMLInput &, const Attribute &) |
virtual OperationPlan * | createOperationPlan (double, Date, Date, Demand *=NULL, OperationPlan *=NULL, unsigned long=0, bool makeflowsloads=true) const |
void | endElement (XMLInput &, const Attribute &, const DataElement &) |
virtual size_t | getSize () const |
virtual const Operationlist & | getSubOperations () const |
virtual const MetaClass & | getType () const |
OperationRouting (const string &c) | |
void | removeSubOperation (Operation *o) |
void | setOperationPlanParameters (OperationPlan *, double, Date, Date, bool=true) const |
virtual void | solve (Solver &s, void *v=NULL) const |
virtual void | writeElement (XMLOutput *, const Keyword &, mode=DEFAULT) const |
~OperationRouting () | |
Static Public Attributes | |
static const MetaClass * | metadata |
Represents a routing operation, i.e. an operation consisting of multiple, sequential sub-operations.
Definition at line 2358 of file model.h.
frepple::OperationRouting::OperationRouting | ( | const string & | c | ) | [inline, explicit] |
frepple::OperationRouting::~OperationRouting | ( | ) |
Destructor.
Definition at line 67 of file operation.cpp.
void frepple::OperationRouting::addStepBack | ( | Operation * | o | ) | [inline] |
void frepple::OperationRouting::addStepFront | ( | Operation * | o | ) | [inline] |
Called while restoring the model from an XML-file.
This is called for each element within the "this" element, for which the "this" element is immediate parent.
It is called when the open element tag is encountered.
Reimplemented from frepple::Operation.
Definition at line 739 of file operation.cpp.
OperationPlan * frepple::OperationRouting::createOperationPlan | ( | double | q, | |
Date | s, | |||
Date | e, | |||
Demand * | l = NULL , |
|||
OperationPlan * | ow = NULL , |
|||
unsigned long | i = 0 , |
|||
bool | makeflowsloads = true | |||
) | const [virtual] |
This is the factory method which creates all operationplans of the operation.
Reimplemented from frepple::Operation.
Definition at line 826 of file operation.cpp.
void frepple::OperationRouting::endElement | ( | XMLInput & | , | |
const Attribute & | , | |||
const DataElement & | ||||
) | [virtual] |
Called while restoring the model from an XML-file.
This is called when the corresponding close element tag is encountered, and the Data() member of pElement is valid.
Reimplemented from frepple::Operation.
Definition at line 748 of file operation.cpp.
virtual size_t frepple::OperationRouting::getSize | ( | ) | const [inline, virtual] |
Return the memory size of the object in bytes.
Implements frepple::utils::Object.
virtual const Operationlist& frepple::OperationRouting::getSubOperations | ( | ) | const [inline, virtual] |
Return a list of all sub-operationplans.
Reimplemented from frepple::Operation.
virtual const MetaClass& frepple::OperationRouting::getType | ( | ) | const [inline, virtual] |
This returns the type information on the object, a bit similar to the standard type_info information.
Implements frepple::utils::Object.
void frepple::OperationRouting::removeSubOperation | ( | Operation * | o | ) | [inline] |
void frepple::OperationRouting::setOperationPlanParameters | ( | OperationPlan * | oplan, | |
double | q, | |||
Date | s, | |||
Date | e, | |||
bool | preferEnd = true | |||
) | const [virtual] |
A operation of this type enforces the following rules on its operationplans:
Implements frepple::Operation.
Definition at line 762 of file operation.cpp.
virtual void frepple::OperationRouting::solve | ( | Solver & | s, | |
void * | v = NULL | |||
) | const [inline, virtual] |
This method is called by solver classes. The implementation of this class simply calls the solve method on the solver class. Using the polymorphism the solver can implement seperate methods for different plannable subclasses.
Reimplemented from frepple::Operation.
void frepple::OperationRouting::writeElement | ( | XMLOutput * | , | |
const Keyword & | , | |||
mode | = DEFAULT | |||
) | const [virtual] |
Called while writing the model into an XML-file. The user class should write itself out, using the IOutStream members for its "simple" members and calling writeElement recursively for any contained objects. Not all classes are expected to implement this method. In instances of such a class can be created but can't be persisted. E.g. Command
Reimplemented from frepple::Operation.
Definition at line 712 of file operation.cpp.
const MetaClass * frepple::OperationRouting::metadata [static] |
Reimplemented from frepple::Operation.