00001 /* $Id: OS_packer.hpp 2698 2009-06-09 04:14:07Z kmartin $ */ 00002 // Last edit: 5/20/07 00003 // 00004 // Name: OS_packer.hpp 00005 // Author: Francois Margot 00006 // Tepper School of Business 00007 // Carnegie Mellon University, Pittsburgh, PA 15213 00008 // email: fmargot@andrew.cmu.edu 00009 // Date: 5/18/07 00010 //----------------------------------------------------------------------------- 00011 // Copyright (C) 2007, Francois Margot, IBM and others. All Rights Reserved. 00012 00013 #ifndef _OS_PACKER_H 00014 #define _OS_PACKER_H 00015 00016 #include "BCP_USER.hpp" 00017 00018 class BCP_buffer; 00019 class OS_user_data; 00020 00023 class OS_packer : public BCP_user_pack { 00024 public: 00025 00026 //------------------------------------------------------------------------- 00028 /* 00029 virtual void 00030 pack_warmstart(const BCP_warmstart* ws, BCP_buffer& buf, 00031 bool report_if_default = false) 00032 { 00033 if (report_if_default) { 00034 printf("BCP_user_pack : default pack_warmstart() executed.\n"); 00035 } 00036 BCP_pack_warmstart(ws, buf); 00037 } 00038 */ 00040 /* 00041 virtual BCP_warmstart* 00042 unpack_warmstart(BCP_buffer& buf, 00043 bool report_if_default = false) 00044 { 00045 if (report_if_default) { 00046 printf("BCP_user_pack : default unpack_warmstart() executed.\n"); 00047 } 00048 return BCP_unpack_warmstart(buf); 00049 } 00050 */ 00051 00052 //------------------------------------------------------------------------- 00056 virtual void pack_var_algo(const BCP_var_algo* var, BCP_buffer& buf); 00057 00058 virtual BCP_var_algo* unpack_var_algo(BCP_buffer& buf); 00059 00060 //------------------------------------------------------------------------- 00062 virtual void pack_cut_algo(const BCP_cut_algo* cut, BCP_buffer& buf); 00063 00065 virtual BCP_cut_algo* unpack_cut_algo(BCP_buffer& buf); 00066 00067 //------------------------------------------------------------------------- 00069 virtual void pack_user_data(const BCP_user_data* ud, BCP_buffer& buf); 00070 00072 virtual BCP_user_data* unpack_user_data(BCP_buffer& buf); 00073 }; 00074 00075 00076 #endif 00077 00078