00001 #ifndef SCIL_CONS_H
00002 #define SCIL_CONS_H
00003
00004 #include <scil/global.h>
00005 #include <LEDA/memory.h>
00006
00007 #define nil 0
00008
00009 namespace SCIL {
00010
00011 class cons_obj;
00012 class ABA_Constraint;
00013 class column;
00014
00016 class cons {
00017
00018 private:
00019 cons_obj* IS;
00020
00021 public:
00022
00023 LEDA_MEMORY(cons)
00024
00025 cons(cons_obj* IS_) { IS=IS_; }
00026 cons() { IS=nil; }
00027
00028 ABA_Constraint* Acons_pointer();
00029
00031 cons_obj* cons_pointer();
00032
00033 column operator+ (column r);
00034 cons& operator=(const cons& i);
00035
00036 bool operator< (const cons& v1) const;
00037 bool operator<= (const cons& v1) const;
00038 bool operator!= (const cons& v1) const;
00039 bool operator== (const cons& v1) const;
00040 bool operator> (const cons& v1) const;
00041 column operator* (double d);
00042
00044 double rhs();
00045
00047 cons_sense sense();
00048 };
00049
00050 int compare(const SCIL::cons& v1, const SCIL::cons& v2);
00051 int Hash(SCIL::cons v);
00052
00053 }
00054
00055 #endif