CouExpr.hpp

Go to the documentation of this file.
00001 /* $Id: CouExpr.hpp 217 2009-07-08 17:02:07Z pbelotti $
00002  *
00003  * Name:    CouExpr.hpp
00004  * Author:  Pietro Belotti
00005  * Purpose: Container class for expressions
00006  *
00007  * This file is licensed under the Common Public License (CPL)
00008  */
00009 
00010 #include "expression.hpp"
00011 
00012 class CouExpr {
00013 
00014 private:
00015 
00016   expression *expr_;
00017 
00018 public:
00019 
00020   CouExpr (expression *e):
00021     expr_ (e) {}
00022 
00023   CouExpr (const CouExpr &e) {
00024     expr_ = e.expr_ -> clone ();
00025   }
00026 
00027   CouExpr &operator=(CouExpr &e) {
00028     expr_ = e.expr_ -> clone ();
00029     return *this;
00030   }
00031 
00032   expression *Expression () const 
00033   {return expr_;}
00034 };
00035 
00036 
00037 CouExpr operator+(CouExpr &e1, CouExpr &e2);
00038 CouExpr &operator/(CouExpr &e1, CouExpr &e2);
00039 CouExpr &operator%(CouExpr &e1, CouExpr &e2);
00040 CouExpr &operator-(CouExpr &e1, CouExpr &e2);
00041 CouExpr &operator*(CouExpr &e1, CouExpr &e2);
00042 CouExpr &operator^(CouExpr &e1, CouExpr &e2);
00043 
00044 CouExpr &sin(CouExpr &e);
00045 CouExpr &cos(CouExpr &e);
00046 CouExpr &log(CouExpr &e);
00047 CouExpr &exp(CouExpr &e);
00048 
00049 CouExpr &operator+(CouNumber &e1, CouExpr &e2);
00050 CouExpr &operator/(CouNumber &e1, CouExpr &e2);
00051 CouExpr &operator%(CouNumber &e1, CouExpr &e2);
00052 CouExpr &operator-(CouNumber &e1, CouExpr &e2);
00053 CouExpr &operator*(CouNumber &e1, CouExpr &e2);
00054 CouExpr &operator^(CouNumber &e1, CouExpr &e2);
00055 
00056 CouExpr &sin(CouNumber &e);
00057 CouExpr &cos(CouNumber &e);
00058 CouExpr &log(CouNumber &e);
00059 CouExpr &exp(CouNumber &e);
00060 
00061 CouExpr &operator+(CouExpr &e1, CouNumber &e2);
00062 CouExpr &operator/(CouExpr &e1, CouNumber &e2);
00063 CouExpr &operator%(CouExpr &e1, CouNumber &e2);
00064 CouExpr &operator-(CouExpr &e1, CouNumber &e2);
00065 CouExpr &operator*(CouExpr &e1, CouNumber &e2);
00066 CouExpr &operator^(CouExpr &e1, CouNumber &e2);
00067 

Generated on Sun Mar 6 03:03:41 2011 for Couenne by  doxygen 1.4.7