WARPXM v1.10.0
Loading...
Searching...
No Matches
wxiotmpl.h
Go to the documentation of this file.
1#ifndef wxiotmpl_h
2#define wxiotmpl_h
3
4// std includes
5#include <string>
6#include <vector>
7
12// fwd declarations
13class WmOpaquePtr;
15class WxRange;
16
23{
24
27 {
28 }
29
36 virtual bool operator==(const WxIoNodeTypev& v) = 0;
37};
38
44
57{
58
59public:
63 virtual ~WxIoTmpl()
64 {
65 }
66
83 virtual WxIoNodeType
85 const std::string& dataName,
86 const std::vector<std::pair<int, int>>& fileSpaceCorners,
87 const std::vector<std::pair<int, int>>& memorySpaceCorners,
88 const std::vector<std::pair<int, int>>& writeSelectionCorners,
89 const WmConstOpaquePtr& data) const = 0;
90
103 virtual void writeToDataSet(WxIoNodeType node,
104 const WxRange& memoryRange,
105 const WxRange& memorySubRange,
106 const WxRange& fileRange,
107 const WxRange& fileSubRange,
108 const WmConstOpaquePtr& data) const = 0;
109
124 virtual WxIoNodeType
126 const std::string& dataName,
127 const std::vector<std::pair<int, int>>& memorySpaceCorners,
128 const std::vector<std::pair<int, int>>& readSelectionCorners,
129 WmOpaquePtr& data) const = 0;
130
143 virtual void readFromDataSet(WxIoNodeType node,
144 const WxRange& memoryRange,
145 const WxRange& memorySubRange,
146 const WxRange& fileRange,
147 const WxRange& fileSubRange,
148 WmOpaquePtr& data) const = 0;
149
160 const std::string& dataSetName,
161 WxRange& dataShape) const = 0;
162
171 virtual void writeAttribute(WxIoNodeType node,
172 const std::string& attribName,
173 const WmConstOpaquePtr& attrib) const = 0;
174
184 const std::string& attribName,
185 const WmConstOpaquePtr& attribStorage,
186 int count) const = 0;
187
196 virtual void readAttribute(WxIoNodeType node,
197 const std::string& attribName,
198 WmOpaquePtr& attrib) const = 0;
199
212 const std::string& attribName,
213 WmOpaquePtr& attribStorage,
214 int count) const = 0;
215
216protected:
221 {
222 }
223
224private:
226 WxIoTmpl(const WxIoTmpl&);
227
229 WxIoTmpl& operator=(const WxIoTmpl&);
230};
231
233#endif // wxiotmpl_h
Opaque Pointer object that carries the referenced data type, but does not expose this payload type as...
Definition: wmopaqueptr.h:81
Opaque Pointer object that carries the referenced data type, but does not expose this payload type as...
Definition: wmopaqueptr.h:24
WxIoTmpl is the base class for access to a hierarchical file system with groups, data sets,...
Definition: wxiotmpl.h:57
virtual WxIoNodeType writeDataSet(WxIoNodeType node, const std::string &dataName, const std::vector< std::pair< int, int > > &fileSpaceCorners, const std::vector< std::pair< int, int > > &memorySpaceCorners, const std::vector< std::pair< int, int > > &writeSelectionCorners, const WmConstOpaquePtr &data) const =0
Write a new data set under a node.
virtual ~WxIoTmpl()
Virtual destructor.
Definition: wxiotmpl.h:63
WxIoTmpl()
Constructor is protected, as this class cannot be made standalone.
Definition: wxiotmpl.h:220
virtual WxIoNodeType getDataShape(WxIoNodeType node, const std::string &dataSetName, WxRange &dataShape) const =0
Obtain simple data shape for a data set under a node.
virtual void writeToDataSet(WxIoNodeType node, const WxRange &memoryRange, const WxRange &memorySubRange, const WxRange &fileRange, const WxRange &fileSubRange, const WmConstOpaquePtr &data) const =0
Write to an open dataset (independent)
virtual void readFromDataSet(WxIoNodeType node, const WxRange &memoryRange, const WxRange &memorySubRange, const WxRange &fileRange, const WxRange &fileSubRange, WmOpaquePtr &data) const =0
Read from an open dataset (independent)
virtual WxIoNodeType readDataSet(WxIoNodeType node, const std::string &dataName, const std::vector< std::pair< int, int > > &memorySpaceCorners, const std::vector< std::pair< int, int > > &readSelectionCorners, WmOpaquePtr &data) const =0
Read a new data set under a node.
virtual void writeAttribute(WxIoNodeType node, const std::string &attribName, const WmConstOpaquePtr &attrib) const =0
Write an attribute.
virtual void readAttribute(WxIoNodeType node, const std::string &attribName, WmOpaquePtr &attrib) const =0
Read an attribute.
virtual int readVecAttribute(WxIoNodeType node, const std::string &attribName, WmOpaquePtr &attribStorage, int count) const =0
Read a vector attribute.
virtual void writeVecAttribute(WxIoNodeType node, const std::string &attribName, const WmConstOpaquePtr &attribStorage, int count) const =0
Write a vector attribute.
WxRange represents a hyper-rectangular domain of an n-dimensional space of integers.
Definition: wxrange.h:23
WxIoNodeTypev * WxIoNodeType
A simple typedef to easily refer to an WxIoNodeType pointer w/o having to know about it.
Definition: wxiotmpl.h:43
Provides a means for derived messengers to return implimentation specific message status flags and da...
Definition: wxiotmpl.h:23
virtual bool operator==(const WxIoNodeTypev &v)=0
A comparison operator.
virtual ~WxIoNodeTypev()
Destructor.
Definition: wxiotmpl.h:26