00001 /* $Id: CoinWarmStart.hpp 1215 2009-11-05 11:03:04Z forrest $ */ 00002 // Copyright (C) 2000, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 00005 #ifndef CoinWarmStart_H 00006 #define CoinWarmStart_H 00007 00008 //############################################################################# 00009 00010 class CoinWarmStartDiff; 00011 00020 class CoinWarmStart { 00021 public: 00022 00024 virtual ~CoinWarmStart() {} 00025 00027 virtual CoinWarmStart *clone() const = 0 ; 00028 00029 virtual CoinWarmStartDiff* 00030 generateDiff (const CoinWarmStart *const ) const { return 0; } 00031 00032 00033 virtual void 00034 applyDiff (const CoinWarmStartDiff *const ) {} 00035 00036 }; 00037 00038 00047 class CoinWarmStartDiff { 00048 public: 00049 00051 virtual ~CoinWarmStartDiff() {} 00052 00054 virtual CoinWarmStartDiff *clone() const = 0 ; 00055 }; 00056 00057 #endif