00001 // Copyright (C) 2000, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 00004 #ifndef CoinWarmStart_H 00005 #define CoinWarmStart_H 00006 00007 //############################################################################# 00008 00009 class CoinWarmStartDiff; 00010 00019 class CoinWarmStart { 00020 public: 00021 00023 virtual ~CoinWarmStart() {} 00024 00026 virtual CoinWarmStart *clone() const = 0 ; 00027 00028 virtual CoinWarmStartDiff* 00029 generateDiff (const CoinWarmStart *const oldCWS) const { return 0; } 00030 00031 00032 virtual void 00033 applyDiff (const CoinWarmStartDiff *const cwsdDiff) {} 00034 00035 }; 00036 00037 00046 class CoinWarmStartDiff { 00047 public: 00048 00050 virtual ~CoinWarmStartDiff() {} 00051 00053 virtual CoinWarmStartDiff *clone() const = 0 ; 00054 }; 00055 00056 #endif