00001 // Copyright (C) 2003, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 00004 #ifndef _OS_CUT_H 00005 #define _OS_CUT_H 00006 00007 #include "BCP_cut.hpp" 00008 #include "BCP_mempool.hpp" 00009 #include "OsiRowCut.hpp" 00010 00011 //class BCP_buffer; 00012 00015 /****************************************************************************/ 00016 class OS_cut : public BCP_cut_algo, public OsiRowCut { 00017 00018 private: 00019 00020 static BCP_MemPool memPool; 00021 00022 public: 00023 00024 static inline void * operator new(size_t size) { 00025 //std::cout << "GAIL HONDA NEW " << std::endl; 00026 return memPool.alloc( size); 00027 } 00028 00029 static inline void operator delete(void *p, size_t size) { 00030 //std::cout << "GAIL HONDA FREE " << std::endl; 00031 memPool.free(p, size); 00032 } 00033 00035 void pack(BCP_buffer& buf) const; 00036 00039 00040 OS_cut(BCP_buffer& buf); 00041 00043 OS_cut(const OsiRowCut& cut); 00044 00046 ~OS_cut() {} 00047 }; 00048 00049 #endif 00050 00051