Cbc trunk
CbcCutModifier.hpp
Go to the documentation of this file.
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 //Edwin 11/25/09 carved out of CbcCutGenerator
00007 
00008 #ifndef CbcCutModifier_H
00009 #define CbcCutModifier_H
00010 
00011 #include "OsiSolverInterface.hpp"
00012 #include "OsiCuts.hpp"
00013 #include "CglCutGenerator.hpp"
00014 
00015 class CbcModel;
00016 class OsiRowCut;
00017 class OsiRowCutDebugger;
00027 class CbcCutModifier {
00028 public:
00030     CbcCutModifier ();
00031 
00032     // Copy constructor
00033     CbcCutModifier ( const CbcCutModifier &);
00034 
00036     virtual ~CbcCutModifier();
00037 
00039     CbcCutModifier & operator=(const CbcCutModifier& rhs);
00041     virtual CbcCutModifier * clone() const = 0;
00042 
00049     virtual int modify(const OsiSolverInterface * solver, OsiRowCut & cut) = 0;
00051     virtual void generateCpp( FILE * ) {}
00052 protected:
00053 
00054 };
00055 
00056 #endif //CbcCutModifier_H
00057 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines