00001
00002
00003
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
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