00001 // Copyright (C) 2000, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 #ifndef _BCP_NODE_H 00004 #define _BCP_NODE_H 00005 00006 #include "CoinSmartPtr.hpp" 00007 #include "BCP_problem_core.hpp" 00008 #include "BCP_obj_change.hpp" 00009 #include "BCP_indexed_pricing.hpp" 00010 00011 //############################################################################# 00012 00013 class BCP_warmstart; 00014 class BCP_buffer; 00015 class BCP_user_pack; 00016 00017 //############################################################################# 00018 00019 class BCP_node_change : public Coin::ReferencedObject { 00020 private: 00021 BCP_node_change(const BCP_node_change&); 00022 BCP_node_change& operator=(const BCP_node_change&); 00023 public: 00024 BCP_problem_core_change core_change; 00025 BCP_obj_set_change var_change; 00026 BCP_obj_set_change cut_change; 00027 BCP_warmstart* warmstart; 00028 public: 00029 BCP_node_change(); 00030 BCP_node_change(BCP_user_pack* packer, const bool def, BCP_buffer& buf); 00031 ~BCP_node_change(); 00032 00033 void pack(BCP_user_pack* packer, const bool def, BCP_buffer& buf) const; 00034 void unpack(BCP_user_pack* packer, const bool def, BCP_buffer& buf); 00035 }; 00036 00037 #endif