Base class for Clp event handling. More...
#include <ClpEventHandler.hpp>
Public Types | |
enum | Event { endOfIteration = 100, endOfFactorization, endOfValuesPass, node, treeStatus, solution, theta } |
enums for what sort of event. More... | |
Public Member Functions | |
Virtual method that the derived classe should provide. | |
The base class instance does nothing and as event() is only useful method it would not be very useful NOT providing one! | |
virtual int | event (Event whichEvent) |
This can do whatever it likes. | |
Constructors, destructor | |
ClpEventHandler (ClpSimplex *model=NULL) | |
Default constructor. | |
virtual | ~ClpEventHandler () |
Destructor. | |
ClpEventHandler (const ClpEventHandler &) | |
Default constructor. | |
ClpEventHandler & | operator= (const ClpEventHandler &) |
Default constructor. | |
virtual ClpEventHandler * | clone () const |
Clone. | |
Sets/gets | |
void | setSimplex (ClpSimplex *model) |
set model. | |
ClpSimplex * | simplex () const |
Get model. | |
Protected Attributes | |
Data members | |
ClpSimplex * | model_ |
Pointer to simplex. |
Base class for Clp event handling.
This is just here to allow for event handling. By event I mean a Clp event e.g. end of values pass.
One use would be to let a user handle a system event e.g. Control-C. This could be done by deriving a class MyEventHandler which knows about such events. If one occurs MyEventHandler::event() could clear event status and return 3 (stopped).
Clp would then return to user code.
As it is called every iteration this should be fine grained enough.
User can derive and construct from CbcModel - not pretty
Definition at line 24 of file ClpEventHandler.hpp.
enums for what sort of event.
These will also be returned in ClpModel::secondaryStatus() as int
Definition at line 31 of file ClpEventHandler.hpp.
ClpEventHandler::ClpEventHandler | ( | ClpSimplex * | model = NULL |
) |
Default constructor.
virtual ClpEventHandler::~ClpEventHandler | ( | ) | [virtual] |
Destructor.
ClpEventHandler::ClpEventHandler | ( | const ClpEventHandler & | ) |
Default constructor.
virtual int ClpEventHandler::event | ( | Event | whichEvent | ) | [virtual] |
This can do whatever it likes.
If return code -1 then carries on if 0 sets ClpModel::status() to 5 (stopped by event) and will return to user. At present if <-1 carries on and if >0 acts as if 0 - this may change
Reimplemented in MyEventHandler.
ClpEventHandler& ClpEventHandler::operator= | ( | const ClpEventHandler & | ) |
Default constructor.
Reimplemented in MyEventHandler.
virtual ClpEventHandler* ClpEventHandler::clone | ( | ) | const [virtual] |
Clone.
Reimplemented in MyEventHandler.
void ClpEventHandler::setSimplex | ( | ClpSimplex * | model | ) |
set model.
ClpSimplex* ClpEventHandler::simplex | ( | ) | const [inline] |
Get model.
Definition at line 75 of file ClpEventHandler.hpp.
ClpSimplex* ClpEventHandler::model_ [protected] |
Pointer to simplex.
Definition at line 85 of file ClpEventHandler.hpp.