10 #ifndef __HDF5_FILE_H__
11 #define __HDF5_FILE_H__
24 template <
class ST>
class SGString;
25 template <
class ST>
class SGSparseVector;
34 #define IGNORE_IN_CLASSLIST
47 CHDF5File(
char* fname,
char rw=
'r',
const char* name=NULL);
52 #ifndef SWIG // SWIG should skip this
60 virtual void get_vector(
bool*& vector, int32_t& len);
61 virtual void get_vector(int8_t*& vector, int32_t& len);
62 virtual void get_vector(uint8_t*& vector, int32_t& len);
63 virtual void get_vector(
char*& vector, int32_t& len);
64 virtual void get_vector(int32_t*& vector, int32_t& len);
65 virtual void get_vector(uint32_t*& vector, int32_t& len);
66 virtual void get_vector(
float64_t*& vector, int32_t& len);
67 virtual void get_vector(
float32_t*& vector, int32_t& len);
68 virtual void get_vector(
floatmax_t*& vector, int32_t& len);
69 virtual void get_vector(int16_t*& vector, int32_t& len);
70 virtual void get_vector(uint16_t*& vector, int32_t& len);
71 virtual void get_vector(int64_t*& vector, int32_t& len);
72 virtual void get_vector(uint64_t*& vector, int32_t& len);
83 virtual void get_matrix(
84 bool*& matrix, int32_t& num_feat, int32_t& num_vec);
85 virtual void get_matrix(
86 uint8_t*& matrix, int32_t& num_feat, int32_t& num_vec);
87 virtual void get_matrix(
88 char*& matrix, int32_t& num_feat, int32_t& num_vec);
89 virtual void get_matrix(
90 int32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
91 virtual void get_matrix(
92 uint32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
93 virtual void get_matrix(
94 int64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
95 virtual void get_matrix(
96 uint64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
97 virtual void get_matrix(
98 float32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
99 virtual void get_matrix(
100 float64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
101 virtual void get_matrix(
102 floatmax_t*& matrix, int32_t& num_feat, int32_t& num_vec);
103 virtual void get_matrix(
104 int16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
105 virtual void get_matrix(
106 uint16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
118 virtual void get_sparse_matrix(
119 SGSparseVector<bool>*& matrix, int32_t& num_feat, int32_t& num_vec);
120 virtual void get_sparse_matrix(
121 SGSparseVector<int8_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
122 virtual void get_sparse_matrix(
123 SGSparseVector<uint8_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
124 virtual void get_sparse_matrix(
125 SGSparseVector<char>*& matrix, int32_t& num_feat, int32_t& num_vec);
126 virtual void get_sparse_matrix(
127 SGSparseVector<int32_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
128 virtual void get_sparse_matrix(
129 SGSparseVector<uint32_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
130 virtual void get_sparse_matrix(
131 SGSparseVector<int64_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
132 virtual void get_sparse_matrix(
133 SGSparseVector<uint64_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
134 virtual void get_sparse_matrix(
135 SGSparseVector<int16_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
136 virtual void get_sparse_matrix(
137 SGSparseVector<uint16_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
138 virtual void get_sparse_matrix(
139 SGSparseVector<float32_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
140 virtual void get_sparse_matrix(
141 SGSparseVector<float64_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
142 virtual void get_sparse_matrix(
143 SGSparseVector<floatmax_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
155 virtual void get_string_list(
156 SGString<bool>*& strings, int32_t& num_str,
157 int32_t& max_string_len);
158 virtual void get_string_list(
159 SGString<int8_t>*& strings, int32_t& num_str,
160 int32_t& max_string_len);
161 virtual void get_string_list(
162 SGString<uint8_t>*& strings, int32_t& num_str,
163 int32_t& max_string_len);
164 virtual void get_string_list(
165 SGString<char>*& strings, int32_t& num_str,
166 int32_t& max_string_len);
167 virtual void get_string_list(
168 SGString<int32_t>*& strings, int32_t& num_str,
169 int32_t& max_string_len);
170 virtual void get_string_list(
171 SGString<uint32_t>*& strings, int32_t& num_str,
172 int32_t& max_string_len);
173 virtual void get_string_list(
174 SGString<int16_t>*& strings, int32_t& num_str,
175 int32_t& max_string_len);
176 virtual void get_string_list(
177 SGString<uint16_t>*& strings, int32_t& num_str,
178 int32_t& max_string_len);
179 virtual void get_string_list(
180 SGString<int64_t>*& strings, int32_t& num_str,
181 int32_t& max_string_len);
182 virtual void get_string_list(
183 SGString<uint64_t>*& strings, int32_t& num_str,
184 int32_t& max_string_len);
185 virtual void get_string_list(
186 SGString<float32_t>*& strings, int32_t& num_str,
187 int32_t& max_string_len);
188 virtual void get_string_list(
189 SGString<float64_t>*& strings, int32_t& num_str,
190 int32_t& max_string_len);
191 virtual void get_string_list(
192 SGString<floatmax_t>*& strings, int32_t& num_str,
193 int32_t& max_string_len);
203 virtual void set_vector(
const bool* vector, int32_t len);
204 virtual void set_vector(
const int8_t* vector, int32_t len);
205 virtual void set_vector(
const uint8_t* vector, int32_t len);
206 virtual void set_vector(
const char* vector, int32_t len);
207 virtual void set_vector(
const int32_t* vector, int32_t len);
208 virtual void set_vector(
const uint32_t* vector, int32_t len);
209 virtual void set_vector(
const float32_t* vector, int32_t len);
210 virtual void set_vector(
const float64_t* vector, int32_t len);
211 virtual void set_vector(
const floatmax_t* vector, int32_t len);
212 virtual void set_vector(
const int16_t* vector, int32_t len);
213 virtual void set_vector(
const uint16_t* vector, int32_t len);
214 virtual void set_vector(
const int64_t* vector, int32_t len);
215 virtual void set_vector(
const uint64_t* vector, int32_t len);
226 virtual void set_matrix(
227 const bool* matrix, int32_t num_feat, int32_t num_vec);
228 virtual void set_matrix(
229 const int8_t* matrix, int32_t num_feat, int32_t num_vec);
230 virtual void set_matrix(
231 const uint8_t* matrix, int32_t num_feat, int32_t num_vec);
232 virtual void set_matrix(
233 const char* matrix, int32_t num_feat, int32_t num_vec);
234 virtual void set_matrix(
235 const int32_t* matrix, int32_t num_feat, int32_t num_vec);
236 virtual void set_matrix(
237 const uint32_t* matrix, int32_t num_feat, int32_t num_vec);
238 virtual void set_matrix(
239 const int64_t* matrix, int32_t num_feat, int32_t num_vec);
240 virtual void set_matrix(
241 const uint64_t* matrix, int32_t num_feat, int32_t num_vec);
242 virtual void set_matrix(
243 const float32_t* matrix, int32_t num_feat, int32_t num_vec);
244 virtual void set_matrix(
245 const float64_t* matrix, int32_t num_feat, int32_t num_vec);
246 virtual void set_matrix(
247 const floatmax_t* matrix, int32_t num_feat, int32_t num_vec);
248 virtual void set_matrix(
249 const int16_t* matrix, int32_t num_feat, int32_t num_vec);
250 virtual void set_matrix(
251 const uint16_t* matrix, int32_t num_feat, int32_t num_vec);
261 virtual void set_sparse_matrix(
262 const SGSparseVector<bool>* matrix, int32_t num_feat, int32_t num_vec);
263 virtual void set_sparse_matrix(
264 const SGSparseVector<int8_t>* matrix, int32_t num_feat, int32_t num_vec);
265 virtual void set_sparse_matrix(
266 const SGSparseVector<uint8_t>* matrix, int32_t num_feat, int32_t num_vec);
267 virtual void set_sparse_matrix(
268 const SGSparseVector<char>* matrix, int32_t num_feat, int32_t num_vec);
269 virtual void set_sparse_matrix(
270 const SGSparseVector<int32_t>* matrix, int32_t num_feat, int32_t num_vec);
271 virtual void set_sparse_matrix(
272 const SGSparseVector<uint32_t>* matrix, int32_t num_feat, int32_t num_vec);
273 virtual void set_sparse_matrix(
274 const SGSparseVector<int64_t>* matrix, int32_t num_feat, int32_t num_vec);
275 virtual void set_sparse_matrix(
276 const SGSparseVector<uint64_t>* matrix, int32_t num_feat, int32_t num_vec);
277 virtual void set_sparse_matrix(
278 const SGSparseVector<int16_t>* matrix, int32_t num_feat, int32_t num_vec);
279 virtual void set_sparse_matrix(
280 const SGSparseVector<uint16_t>* matrix, int32_t num_feat, int32_t num_vec);
281 virtual void set_sparse_matrix(
282 const SGSparseVector<float32_t>* matrix, int32_t num_feat, int32_t num_vec);
283 virtual void set_sparse_matrix(
284 const SGSparseVector<float64_t>* matrix, int32_t num_feat, int32_t num_vec);
285 virtual void set_sparse_matrix(
286 const SGSparseVector<floatmax_t>* matrix, int32_t num_feat, int32_t num_vec);
298 virtual void set_string_list(
299 const SGString<bool>* strings, int32_t num_str);
300 virtual void set_string_list(
301 const SGString<int8_t>* strings, int32_t num_str);
302 virtual void set_string_list(
303 const SGString<uint8_t>* strings, int32_t num_str);
304 virtual void set_string_list(
305 const SGString<char>* strings, int32_t num_str);
306 virtual void set_string_list(
307 const SGString<int32_t>* strings, int32_t num_str);
308 virtual void set_string_list(
309 const SGString<uint32_t>* strings, int32_t num_str);
310 virtual void set_string_list(
311 const SGString<int16_t>* strings, int32_t num_str);
312 virtual void set_string_list(
313 const SGString<uint16_t>* strings, int32_t num_str);
314 virtual void set_string_list(
315 const SGString<int64_t>* strings, int32_t num_str);
316 virtual void set_string_list(
317 const SGString<uint64_t>* strings, int32_t num_str);
318 virtual void set_string_list(
319 const SGString<float32_t>* strings, int32_t num_str);
320 virtual void set_string_list(
321 const SGString<float64_t>* strings, int32_t num_str);
322 virtual void set_string_list(
323 const SGString<floatmax_t>* strings, int32_t num_str);
326 virtual void get_matrix(int8_t*&, int32_t&, int32_t&)
338 virtual void set_int8_matrix(
const int8_t*, int32_t, int32_t)
350 #endif // #ifndef SWIG // SWIG should skip this
353 virtual const char* get_name()
const {
return "HDF5File"; }
357 void get_boolean_type();
367 hid_t get_compatible_type(H5T_class_t t_class,
368 const TSGDataType* datatype);
377 void get_dims(hid_t dataset, int32_t*& dims, int32_t& ndims, int64_t& total_elements);
380 void create_group_hierarchy();
390 #endif //__HDF5_FILE_H__
#define SG_NOTIMPLEMENTED
all of classes and functions are contained in the shogun namespace
#define IGNORE_IN_CLASSLIST
template class SGSparseVector The assumtion is that the stored SGSparseVectorEntry* vector is orde...