00001 /* $Id: OS_cut.hpp 2710 2009-06-10 21:13:43Z kmartin $ */ 00002 // Copyright (C) 2003, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 00005 #ifndef _OS_CUT_H 00006 #define _OS_CUT_H 00007 00008 #include "BCP_cut.hpp" 00009 #include "BCP_mempool.hpp" 00010 #include "OsiRowCut.hpp" 00011 00012 //class BCP_buffer; 00013 00016 /****************************************************************************/ 00017 class OS_cut : public BCP_cut_algo, public OsiRowCut { 00018 00019 private: 00020 00021 static BCP_MemPool memPool; 00022 00023 public: 00024 00025 static inline void * operator new(size_t size) { 00026 return memPool.alloc( size); 00027 } 00028 00029 static inline void operator delete(void *p, size_t size) { 00030 memPool.free(p, size); 00031 } 00032 00034 void pack(BCP_buffer& buf) const; 00035 00038 00039 OS_cut(BCP_buffer& buf); 00040 00042 OS_cut(const OsiRowCut& cut); 00043 00045 ~OS_cut() {} 00046 }; 00047 00048 #endif 00049 00050