00001 00039 #ifndef ABA_INFEASCON_H 00040 #define ABA_INFEASCON_H 00041 00042 #include "abacus/abacusroot.h" 00043 00044 class ABA_CONSTRAINT; 00045 class ABA_VARIABLE; 00046 class ABA_MASTER; 00047 00048 class ABA_INFEASCON : public ABA_ABACUSROOT { 00049 public: 00050 00057 enum INFEAS {TooSmall = -1, Feasible, TooLarge}; 00058 00065 ABA_INFEASCON(ABA_MASTER *master, ABA_CONSTRAINT *con, INFEAS inf); 00066 00069 ABA_CONSTRAINT *constraint() const; 00070 00073 INFEAS infeas() const; 00074 00081 bool goodVar(ABA_VARIABLE *v); 00082 00083 private: 00084 00087 ABA_MASTER *master_; 00088 00091 ABA_CONSTRAINT *constraint_; 00092 00095 INFEAS infeas_; 00096 }; 00097 00098 00099 inline ABA_CONSTRAINT *ABA_INFEASCON::constraint() const 00100 { 00101 return constraint_; 00102 } 00103 00104 inline ABA_INFEASCON::INFEAS ABA_INFEASCON::infeas() const 00105 { 00106 return infeas_; 00107 } 00108 00109 00110 #endif // ABA_INFEASCON_H 00111