00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _BB_CUT_H
00010 #define _BB_CUT_H
00011
00012 #include "BCP_cut.hpp"
00013 #include "BCP_mempool.hpp"
00014 #include "OsiRowCut.hpp"
00015
00016 class BCP_buffer;
00017
00020
00021 class BB_cut : public BCP_cut_algo, public OsiRowCut {
00022
00023 private:
00024
00025 static BCP_MemPool memPool;
00026
00027 public:
00028
00029 static inline void * operator new(size_t size) {
00030 return memPool.alloc(size);
00031 }
00032
00033 static inline void operator delete(void *p, size_t size) {
00034 memPool.free(p, size);
00035 }
00036
00038 void pack(BCP_buffer& buf) const;
00039
00042
00043 BB_cut(BCP_buffer& buf);
00044
00046 BB_cut(const OsiRowCut& cut);
00047
00049 ~BB_cut() {}
00050 };
00051
00052 #endif