ESYS13
Revision_
|
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