ESYS13  Revision_
DataEmpty.h
Go to the documentation of this file.
00001 
00002 /*******************************************************
00003 *
00004 * Copyright (c) 2003-2012 by University of Queensland
00005 * Earth Systems Science Computational Center (ESSCC)
00006 * http://www.uq.edu.au/esscc
00007 *
00008 * Primary Business: Queensland, Australia
00009 * Licensed under the Open Software License version 3.0
00010 * http://www.opensource.org/licenses/osl-3.0.php
00011 *
00012 *******************************************************/
00013 
00014 
00015 #if !defined escript_DataEmpty_20040726_H
00016 #define escript_DataEmpty_20040726_H
00017 #include "system_dep.h"
00018 
00019 #include "DataReady.h"
00020 
00021 namespace escript {
00022 
00031 class DataEmpty : public DataReady {
00032 typedef DataReady parent;
00033  public:
00034 
00043   ESCRIPT_DLL_API
00044   DataEmpty();
00045 
00050   ESCRIPT_DLL_API
00051   virtual
00052   ~DataEmpty();
00053 
00058   ESCRIPT_DLL_API
00059   virtual
00060   std::string
00061   toString() const;
00062 
00066   ESCRIPT_DLL_API
00067   virtual
00068   DataAbstract*
00069   deepCopy();
00070 
00071 
00080   ESCRIPT_DLL_API
00081   virtual
00082   DataTypes::ValueType::size_type
00083   getPointOffset(int sampleNo,
00084                  int dataPointNo) const;
00085 
00086   ESCRIPT_DLL_API
00087   virtual
00088   DataTypes::ValueType::size_type
00089   getPointOffset(int sampleNo,
00090                  int dataPointNo);
00091 
00097   ESCRIPT_DLL_API
00098   virtual
00099   ValueType::size_type
00100   getLength() const;
00101 
00109   ESCRIPT_DLL_API
00110   virtual
00111   DataAbstract*
00112   getSlice(const DataTypes::RegionType& region) const;
00113 
00123   ESCRIPT_DLL_API
00124   virtual
00125   void
00126   setSlice(const DataAbstract* value,
00127            const DataTypes::RegionType& region);
00128 
00134   ESCRIPT_DLL_API
00135   int
00136   matrixInverse(DataAbstract* out) const;
00137 
00138   void
00139   dump(const std::string fileName) const;
00140 
00141   ESCRIPT_DLL_API
00142   bool
00143   hasNaN() const
00144   {
00145     return false;
00146   }
00147  protected:
00148 
00152   ESCRIPT_DLL_API
00153   virtual DataTypes::ValueType&
00154   getVectorRW();
00155 
00156 
00157   ESCRIPT_DLL_API
00158   virtual const DataTypes::ValueType&
00159   getVectorRO() const;
00160 
00161 
00162  private:
00163 
00164 //  /**
00165 /*     \brief
00166      Throw a standard exception. This function is called if an attempt
00167      is made to use functions of DataEmpty that are not valid.*/
00168 //  */
00169 //   void
00170 //   throwStandardException(const std::string& functionName) const;
00171 
00172 };
00173 
00174 } // end of namespace
00175 
00176 #endif