00001 00002 // 00003 // Module : StableSetBranchRule.hh 00004 // Description : 00005 // Author : Steffen Rebennack 00006 // Email : srebenac@ix.urz.uni-heidelberg.de; 00007 // steffen.rebennack@web.de 00008 // Copyright : (C) 2006 by the University of Heidelberg 00009 // Created on : Wed Apr 05 16:49:46 2006 00010 // Last modified by : - 00011 // Last modified on : - 00012 // Update count : 0 00013 // 00015 // 00016 // Date Name Changes/Extensions 00017 // ---- ---- ------------------ 00018 // 00020 00021 00022 #ifndef STABLE_SET_BRANCH_RULE_HH 00023 #define STABLE_SET_BRANCH_RULE_HH 00024 00025 00026 #include "abacus/branchrule.h" 00027 class ABA_MASTER; 00028 00029 00030 #include <vector> 00031 00032 using namespace std; 00033 00034 00035 00040 class StableSetBranchRule: public ABA_BRANCHRULE { 00041 00042 00043 public: 00044 00045 // ------------------------------------------------------------------------- 00046 // ------------- M e t h o d s ( p u b l i c ) ---------------------------- 00047 // ------------------------------------------------------------------------- 00048 00056 StableSetBranchRule(ABA_MASTER *master, int node, vector<int> *nodes); 00057 00061 virtual ~StableSetBranchRule(); 00062 00070 virtual int extract(ABA_SUB *sub); 00071 00072 00073 private: 00074 00075 // ------------------------------------------------------------------------- 00076 // ------------- V a r i a b l e s ( p r i v a t e ) ---------------------- 00077 // ------------------------------------------------------------------------- 00078 00082 ABA_MASTER *master_; 00083 00087 int setToOne; 00088 00092 int* setToZero; 00093 00097 int setToZeroSize; 00098 00099 };// end: class StableSetBranchRule 00100 00101 #endif 00102 00103 00104 00105