All Classes Namespaces Functions Typedefs Enumerations Pages
simple.h
1 
26 template<class T>
27 class HDF5SERIE_CLASS : public HDF5SERIE_BASECLASS {
28  friend class Container<HDF5SERIE_CONTAINERBASECLASS, HDF5SERIE_PARENTCLASS>;
29  private:
30  hid_t memDataTypeID;
31  ScopedHID memDataSpaceID;
32  protected:
48  HDF5SERIE_CLASS(int dummy, HDF5SERIE_PARENTCLASS *parent_, const std::string& name_);
49  HDF5SERIE_CLASS(HDF5SERIE_PARENTCLASS *parent_, const std::string& name_);
50 
51  ~HDF5SERIE_CLASS();
52 
53  void close();
54  void open();
55 
56  public:
61  void write(const T& data);
62 
67  T read();
68 
69  #ifdef HDF5SERIE_DATASETTYPE
70  void setDescription(const std::string &desc) {
71  SimpleAttribute<std::string> *a=createChildAttribute<SimpleAttribute<std::string> >("Description")();
72  a->write(desc);
73  }
74  std::string getDescription() {
75  SimpleAttribute<std::string> *a=openChildAttribute<SimpleAttribute<std::string> >("Description");
76  return a->read();
77  }
78  #endif
79 };
80 
81 template<class T>
82 class HDF5SERIE_CLASS<std::vector<T> > : public HDF5SERIE_BASECLASS {
83  friend class Container<HDF5SERIE_CONTAINERBASECLASS, HDF5SERIE_PARENTCLASS>;
84  private:
85  hid_t memDataTypeID;
86  ScopedHID memDataSpaceID;
87  int size;
88  protected:
89  HDF5SERIE_CLASS(int dummy, HDF5SERIE_PARENTCLASS *parent_, const std::string& name_);
90  HDF5SERIE_CLASS(HDF5SERIE_PARENTCLASS *parent_, const std::string& name_, int size_);
91  ~HDF5SERIE_CLASS();
92  void close();
93  void open();
94  public:
95  void write(const std::vector<T>& data);
96  std::vector<T> read();
97  #ifdef HDF5SERIE_DATASETTYPE
98  void setDescription(const std::string &desc) {
99  SimpleAttribute<std::string> *a=createChildAttribute<SimpleAttribute<std::string> >("Description")();
100  a->write(desc);
101  }
102  std::string getDescription() {
103  SimpleAttribute<std::string> *a=openChildAttribute<SimpleAttribute<std::string> >("Description");
104  return a->read();
105  }
106  #endif
107 };
108 
109 template<class T>
110 class HDF5SERIE_CLASS<std::vector<std::vector<T> > > : public HDF5SERIE_BASECLASS {
111  friend class Container<HDF5SERIE_CONTAINERBASECLASS, HDF5SERIE_PARENTCLASS>;
112  private:
113  hid_t memDataTypeID;
114  ScopedHID memDataSpaceID;
115  int rows;
116  int cols;
117  protected:
118  HDF5SERIE_CLASS(int dummy, HDF5SERIE_PARENTCLASS *parent_, const std::string& name_);
119  HDF5SERIE_CLASS(HDF5SERIE_PARENTCLASS *parent_, const std::string& name_, int rows_, int cols_);
120  ~HDF5SERIE_CLASS();
121  void close();
122  void open();
123  public:
124  void write(const std::vector<std::vector<T> >& data);
125  std::vector<std::vector<T> > read();
126  #ifdef HDF5SERIE_DATASETTYPE
127  void setDescription(const std::string &desc) {
128  SimpleAttribute<std::string> *a=createChildAttribute<SimpleAttribute<std::string> >("Description")();
129  a->write(desc);
130  }
131  std::string getDescription() {
132  SimpleAttribute<std::string> *a=openChildAttribute<SimpleAttribute<std::string> >("Description");
133  return a->read();
134  }
135  #endif
136 };
T read()
Read data.
Definition: simple.cc:46
HDF5SERIE_CLASS(int dummy, HDF5SERIE_PARENTCLASS *parent_, const std::string &name_)
Constructor for opening or creating a attribute/dataset.
Definition: simple.cc:3
void write(const T &data)
Write data.
Definition: simple.cc:36
A scalar, vector or matrix attribute/dataset.
Definition: simple.h:27

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML