aboutsummaryrefslogtreecommitdiff
path: root/src/Writer.hh
diff options
context:
space:
mode:
authortradke <tradke@21a6bef8-4479-4f54-8f8d-0db94a2919ef>2000-09-13 13:49:13 +0000
committertradke <tradke@21a6bef8-4479-4f54-8f8d-0db94a2919ef>2000-09-13 13:49:13 +0000
commit8fe367ecf2cbda79960a68a052fdb84916427c0e (patch)
tree45c017765ab7f0eb6caf97540fc76ffd3bffba59 /src/Writer.hh
parentc490022d592551af7c29bc960cbbc09daf45972d (diff)
Importing latest stuff from development repository
git-svn-id: http://svn.cactuscode.org/arrangements/CactusExternal/FlexIO/trunk@2 21a6bef8-4479-4f54-8f8d-0db94a2919ef
Diffstat (limited to 'src/Writer.hh')
-rw-r--r--src/Writer.hh37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/Writer.hh b/src/Writer.hh
new file mode 100644
index 0000000..94f2a70
--- /dev/null
+++ b/src/Writer.hh
@@ -0,0 +1,37 @@
+#ifndef __UNIWRITER_HH_
+#define __UNIWRITER_HH_
+
+#include "IO.hh"
+
+class Writer {
+protected:
+ IObase &file;
+ int drank;
+ //int *ddims;
+ int ddims[5];
+ IObase::DataType dtypeID;
+ // double *ddelta,*dorigin,*dext;
+ double ddelta[5],dorigin[5],dext[5];
+ int extsize;
+ virtual void writeBounds();
+public:
+ Writer(IObase &outfile);
+ virtual ~Writer();
+ virtual void setRank(int rank); // more efficient to set rank once for all
+ virtual void setDims(int *dims);//only if rank has been set(should have flag)
+ virtual void setDims(int rank,int *dims);
+ virtual void setType(IObase::DataType typeID);
+ virtual void setOrigin(double *origin);
+ virtual void setDelta(double *delta);
+ virtual void setParams(int rank,int *dims,IObase::DataType typeID,
+ double *origin,double *delta);
+ virtual void write(void *data);
+ virtual void reserveChunk();
+ virtual void writeChunk(int *chunkdims,int *chunkorigin,void *data);
+};
+
+extern "C" {
+#include "Writer.h"
+}
+
+#endif