conbranchrule.h

Go to the documentation of this file.
00001 
00034 #ifndef ABA_CONBRANCHRULE_H
00035 #define ABA_CONBRANCHRULE_H
00036 
00037 #include "abacus/branchrule.h"
00038 #include "abacus/poolslotref.h"
00039 #include "abacus/constraint.h"
00040 #include "abacus/variable.h"
00041 
00042 #ifdef ABACUS_PARALLEL
00043 class ABA_MESSAGE;
00044 #endif
00045 
00046   class  ABA_CONBRANCHRULE :  public ABA_BRANCHRULE  { 
00047     public: 
00048 
00059       ABA_CONBRANCHRULE(ABA_MASTER *master,
00060                         ABA_POOLSLOT<ABA_CONSTRAINT, ABA_VARIABLE> *poolSlot);
00061 
00064       virtual ~ABA_CONBRANCHRULE();
00065 #ifdef ABACUS_PARALLEL
00066 
00073       ABA_CONBRANCHRULE(ABA_MASTER *master, ABA_MESSAGE &msg);
00074 
00081       virtual void pack(ABA_MESSAGE &msg) const;
00082 
00088       virtual int classId() const;
00089 #endif
00090 
00098       friend ostream &operator<<(ostream &out, const ABA_CONBRANCHRULE &rhs);
00099 
00109       virtual int extract(ABA_SUB *sub);
00110 
00118       virtual void extract(ABA_LPSUB *lp);
00119       virtual void unExtract(ABA_LPSUB *lp);
00120 
00128       virtual void initialize(ABA_SUB *sub);
00129 
00133       ABA_CONSTRAINT *constraint();
00134     private: 
00135       ABA_POOLSLOTREF<ABA_CONSTRAINT, ABA_VARIABLE> poolSlotRef_;
00136       
00137       const ABA_CONBRANCHRULE &operator=(const ABA_CONBRANCHRULE &rhs);
00138   };
00139 #endif  //ABA_CONBRANCHRULE_H
00140 

Generated on Tue Aug 14 18:09:53 2007 for ABACUS by  doxygen 1.5.1