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

ListBatchBase.h

Go to the documentation of this file.
00001 #ifndef LISTBATCHBASE_H
00002 #define LISTBATCHBASE_H
00003 
00004 #include "SundanceDefs.h"
00005 
00006 #include "TSFArray.h"
00007 #include "DenseSerialVector.h"
00008 #include "TSFSmartPtr.h"
00009 #include "ExprValue.h"
00010 
00011 
00012 namespace Sundance
00013 {
00014 
00015   using namespace TSF;
00016   using std::string;
00017 
00018   using std::ostream;
00019 
00020   class ListBatch;
00021 
00022   /** \ingroup LowLevelSymbolics
00023    * ListBatchBase is the base class for lists of expr value batches.
00024    */
00025   class ListBatchBase
00026     {
00027     public:
00028       /** \name Developer-only methods */
00029       //@{
00030       /** no detailed documentation available */
00031       ListBatchBase() {;}
00032       /** */
00033       virtual ~ListBatchBase(){;}
00034 
00035       /** */
00036       virtual int listLength() const = 0 ;
00037       /** */
00038       virtual int nPoints() const = 0 ;
00039       /** */
00040       virtual int listSize() const = 0 ;
00041 
00042       /** */
00043       virtual const ListBatch& listElement(int i) const = 0 ;
00044       /** */
00045       virtual ListBatch& listElement(int i) = 0 ;
00046 
00047       /** */
00048       virtual const DenseSerialVector& value() const ;
00049       /** */
00050       virtual void setValue(const DenseSerialVector& v);
00051       /** */
00052       virtual ExprValue sliceAt(int i) const = 0 ;
00053       /** */
00054       virtual ExprValue sum(const DenseSerialVector& weights) const = 0 ;
00055 
00056       /** */
00057       virtual bool isFlat() const {return false;}
00058       /** */
00059       virtual bool isScalar() const {return false;}
00060 
00061       //@}
00062     private:
00063       static DenseSerialVector dummyVector_;
00064     };
00065 
00066 }
00067 #endif

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


Documentation generated by