Clp trunk
|
00001 /* $Id$ */ 00002 // Copyright (C) 2003, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 // This code is licensed under the terms of the Eclipse Public License (EPL). 00005 00006 #ifndef MyMessageHandler_H 00007 #define MyMessageHandler_H 00008 00009 #include <deque> 00010 00011 #include "CoinPragma.hpp" 00012 #include <stdio.h> 00013 #include "CoinMessageHandler.hpp" 00014 00023 class ClpSimplex; 00024 00025 00026 typedef std::vector<double> StdVectorDouble; 00027 00028 class MyMessageHandler : public CoinMessageHandler { 00029 00030 public: 00033 virtual int print(); 00035 00037 00038 const ClpSimplex * model() const; 00039 void setModel(ClpSimplex * model); 00041 const std::deque<StdVectorDouble> & getFeasibleExtremePoints() const; 00043 void clearFeasibleExtremePoints(); 00045 00049 MyMessageHandler(); 00051 MyMessageHandler(ClpSimplex * model, 00052 FILE * userPointer = NULL); 00054 virtual ~MyMessageHandler(); 00056 00060 MyMessageHandler(const MyMessageHandler&); 00062 MyMessageHandler(const CoinMessageHandler&); 00063 00064 MyMessageHandler& operator=(const MyMessageHandler&); 00066 virtual CoinMessageHandler * clone() const ; 00068 00069 00070 protected: 00074 00075 ClpSimplex * model_; 00077 std::deque<StdVectorDouble> feasibleExtremePoints_; 00079 int iterationNumber_; 00081 }; 00082 00083 #endif