Main Page   Class Hierarchy   Compound List   File List   Contact   Download   Symbolic Constraints   Examples  

variable.h

00001 #ifndef SCIL_VARIABLE_H
00002 #define SCIL_VARIABLE_H
00003 
00004 #include <scil/global.h>
00005 #include <LEDA/memory.h>
00006 #define nil 0
00007 
00008 namespace SCIL {
00009 
00010 class row; 
00011 class var_obj; 
00012 class var; 
00013 class ABA_Variable;
00014 
00016 class var {
00017 
00018  private:
00019 
00020   var_obj* VS;
00021 
00022  public:
00023   LEDA_MEMORY(var)
00024 
00025   var(var_obj* VS_) { VS=VS_; }
00026 
00027   var() { VS=nil; }
00028 
00029   var(const var& v) { VS=v.VS; }
00030 
00031   ABA_Variable* Avar_pointer();
00032 
00034   var_obj* var_pointer() const;
00035 
00037   double obj();
00038 
00040   double lower_bound();
00041 
00043   double upper_bound();
00044 
00046   Vartype type();
00047 
00048   row operator+ (const row& r);
00049 
00050   var& operator=(const var& v) { VS=v.VS; return *this; }
00051 
00052   bool operator<  (const var& v1) const;
00053   bool operator<= (const var& v1) const;
00054   bool operator!= (const var& v1) const;
00055   bool operator== (const var& v1) const;
00056   bool operator>  (const var& v1) const;
00057   row  operator*  (double d);
00058 };
00059 
00060 
00061 int Hash(SCIL::var v);
00062   //int ID_Number(const SCIL::var &);
00063 int compare(const SCIL::var& v1, const SCIL::var& v2);
00064 
00065 };
00066 
00067 #endif

Generated on Tue Nov 16 15:18:23 2004 for SCIL by doxygen1.2.16