00001 /* $Id: MyMessageHandler.hpp 1525 2010-02-26 17:27:59Z mjs $ */ 00002 // Copyright (C) 2003, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 #ifndef MyMessageHandler_H 00005 #define MyMessageHandler_H 00006 00007 #include <deque> 00008 00009 #include "CoinPragma.hpp" 00010 #include <stdio.h> 00011 #include "CoinMessageHandler.hpp" 00012 00021 class ClpSimplex; 00022 00023 00024 typedef std::vector<double> StdVectorDouble; 00025 00026 class MyMessageHandler : public CoinMessageHandler { 00027 00028 public: 00031 virtual int print(); 00033 00035 00036 const ClpSimplex * model() const; 00037 void setModel(ClpSimplex * model); 00039 const std::deque<StdVectorDouble> & getFeasibleExtremePoints() const; 00041 void clearFeasibleExtremePoints(); 00043 00047 MyMessageHandler(); 00049 MyMessageHandler(ClpSimplex * model, 00050 FILE * userPointer = NULL); 00052 virtual ~MyMessageHandler(); 00054 00058 MyMessageHandler(const MyMessageHandler&); 00060 MyMessageHandler(const CoinMessageHandler&); 00061 00062 MyMessageHandler& operator=(const MyMessageHandler&); 00064 virtual CoinMessageHandler * clone() const ; 00066 00067 00068 protected: 00072 00073 ClpSimplex * model_; 00075 std::deque<StdVectorDouble> feasibleExtremePoints_; 00077 int iterationNumber_; 00079 }; 00080 00081 #endif