Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Examples  

ExprValueBase.h

Go to the documentation of this file.
00001 #ifndef EXPRVALUEBASE_H
00002 #define EXPRVALUEBASE_H
00003 
00004 #include "SundanceDefs.h"
00005 
00006 #include "TSFArray.h"
00007 #include "TSFSmartPtr.h"
00008 
00009 
00010 
00011 namespace Sundance
00012 {
00013 
00014   using namespace TSF;
00015   using std::string;
00016 
00017   using std::ostream;
00018 
00019   class ExprValue;
00020 
00021   /** \ingroup LowLevelSymbolics
00022    * Base class for expression values: subclasses represent scalars and lists.
00023    */
00024 
00025   class ExprValueBase
00026     {
00027     public:
00028       /** \name Developer-only methods */
00029       //@{
00030 
00031       /**
00032        * no detailed doc
00033        */
00034       ExprValueBase() {;}
00035       /**
00036        *
00037        */
00038       virtual ~ExprValueBase(){;}
00039 
00040       /**
00041        *
00042        */
00043       virtual int listLength() const = 0 ;
00044       /**
00045        *
00046        */
00047       virtual int listSize() const = 0 ;
00048 
00049       /**
00050        *
00051        */
00052       virtual const ExprValue& listElement(int i) const = 0 ;
00053       /**
00054        *
00055        */
00056       virtual ExprValue& listElement(int i) = 0 ;
00057 
00058       /**
00059        *
00060        */
00061       virtual const double& value() const ;
00062       /**
00063        *
00064        */
00065       virtual void setValue(const double& v);
00066 
00067       /**
00068        *
00069        */
00070       virtual bool isFlat() const {return false;}
00071       /**
00072        *
00073        */
00074       virtual bool isScalar() const {return false;}
00075       //@}
00076     private:
00077       static double dummy_;
00078     };
00079 
00080 }
00081 #endif

Contact:
Kevin Long (krlong@ca.sandia.gov)


Documentation generated by