/home/coin/SVN-release/Bcp-1.2.1/Bcp/examples/BAC/include/BB_packer.hpp

Go to the documentation of this file.
00001 // Last edit: 5/20/07
00002 //
00003 // Name:     BB_packer.hpp
00004 // Author:   Francois Margot
00005 //           Tepper School of Business
00006 //           Carnegie Mellon University, Pittsburgh, PA 15213
00007 //           email: fmargot@andrew.cmu.edu
00008 // Date:     5/18/07
00009 //-----------------------------------------------------------------------------
00010 // Copyright (C) 2007, Francois Margot, IBM and others. All Rights Reserved.
00011 
00012 #ifndef _BB_PACKER_H
00013 #define _BB_PACKER_H
00014 
00015 #include "BCP_USER.hpp"
00016 
00017 class BCP_buffer;
00018 class BB_user_data;
00019 
00022 class BB_packer : public BCP_user_pack {
00023 public:
00024   
00025   //-------------------------------------------------------------------------
00027   virtual void
00028   pack_warmstart(const BCP_warmstart* ws, BCP_buffer& buf,
00029                  bool report_if_default = false)
00030   {
00031     if (report_if_default) {
00032       printf("BCP_user_pack : default pack_warmstart() executed.\n");
00033     }
00034     BCP_pack_warmstart(ws, buf);
00035   }
00036   
00038   virtual BCP_warmstart*
00039   unpack_warmstart(BCP_buffer& buf,
00040                    bool report_if_default = false)
00041   {
00042     if (report_if_default) {
00043       printf("BCP_user_pack : default unpack_warmstart() executed.\n");
00044     }
00045     return BCP_unpack_warmstart(buf);
00046   }
00047   
00048   //-------------------------------------------------------------------------
00050   virtual void
00051   pack_var_algo(const BCP_var_algo* var, BCP_buffer& buf)
00052   {
00053     throw BCP_fatal_error("\
00054 BCP_user_pack::pack_var_algo() invoked but not overridden!\n");
00055   }
00056   
00058   virtual BCP_var_algo* unpack_var_algo(BCP_buffer& buf)
00059   {
00060     throw BCP_fatal_error("\
00061 BCP_user_pack::unpack_var_algo() invoked but not overridden!\n");
00062     return 0; // to satisfy aCC on HP-UX
00063   }
00064   
00065   //-------------------------------------------------------------------------
00067   virtual void pack_cut_algo(const BCP_cut_algo* cut, BCP_buffer& buf);
00068   
00070   virtual BCP_cut_algo* unpack_cut_algo(BCP_buffer& buf);
00071   
00072   //-------------------------------------------------------------------------
00074   virtual void pack_user_data(const BCP_user_data* ud, BCP_buffer& buf);
00075   
00077   virtual BCP_user_data* unpack_user_data(BCP_buffer& buf);
00078 };
00079 
00080 
00081 #endif
00082 
00083 

Generated on Thu Jan 15 03:00:58 2009 for coin-Bcp by  doxygen 1.4.7