10 #ifndef __BINARY_FILE_H__
11 #define __BINARY_FILE_H__
47 CBinaryFile(
const char* fname,
char rw=
'r',
const char* name=NULL);
59 virtual void get_vector(uint8_t*& vector, int32_t& len);
60 virtual void get_vector(
char*& vector, int32_t& len);
61 virtual void get_vector(int32_t*& vector, int32_t& len);
64 virtual void get_vector(int16_t*& vector, int32_t& len);
65 virtual void get_vector(uint16_t*& vector, int32_t& len);
77 uint8_t*& matrix, int32_t& num_feat, int32_t& num_vec);
79 int8_t*& matrix, int32_t& num_feat, int32_t& num_vec);
81 char*& matrix, int32_t& num_feat, int32_t& num_vec);
83 int32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
85 uint32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
87 int64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
89 uint64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
91 float32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
93 float64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
95 floatmax_t*& matrix, int32_t& num_feat, int32_t& num_vec);
97 int16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
99 uint16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
111 uint8_t*& array, int32_t*& dims, int32_t& num_dims);
113 char*& array, int32_t*& dims, int32_t& num_dims);
115 int32_t*& array, int32_t*& dims, int32_t& num_dims);
117 float32_t*& array, int32_t*& dims, int32_t& num_dims);
119 float64_t*& array, int32_t*& dims, int32_t& num_dims);
121 int16_t*& array, int32_t*& dims, int32_t& num_dims);
123 uint16_t*& array, int32_t*& dims, int32_t& num_dims);
173 int32_t& max_string_len);
176 int32_t& max_string_len);
179 int32_t& max_string_len);
182 int32_t& max_string_len);
185 int32_t& max_string_len);
188 int32_t& max_string_len);
191 int32_t& max_string_len);
194 int32_t& max_string_len);
197 int32_t& max_string_len);
200 int32_t& max_string_len);
203 int32_t& max_string_len);
206 int32_t& max_string_len);
216 virtual void set_vector(
const uint8_t* vector, int32_t len);
217 virtual void set_vector(
const char* vector, int32_t len);
218 virtual void set_vector(
const int32_t* vector, int32_t len);
221 virtual void set_vector(
const int16_t* vector, int32_t len);
222 virtual void set_vector(
const uint16_t* vector, int32_t len);
234 const uint8_t* matrix, int32_t num_feat, int32_t num_vec);
236 const int8_t* matrix, int32_t num_feat, int32_t num_vec);
238 const char* matrix, int32_t num_feat, int32_t num_vec);
240 const int32_t* matrix, int32_t num_feat, int32_t num_vec);
242 const uint32_t* matrix, int32_t num_feat, int32_t num_vec);
244 const int64_t* matrix, int32_t num_feat, int32_t num_vec);
246 const uint64_t* matrix, int32_t num_feat, int32_t num_vec);
248 const float32_t* matrix, int32_t num_feat, int32_t num_vec);
250 const float64_t* matrix, int32_t num_feat, int32_t num_vec);
252 const floatmax_t* matrix, int32_t num_feat, int32_t num_vec);
254 const int16_t* matrix, int32_t num_feat, int32_t num_vec);
256 const uint16_t* matrix, int32_t num_feat, int32_t num_vec);
267 const uint8_t* array, int32_t* dims, int32_t num_dims);
269 const char* array, int32_t* dims, int32_t num_dims);
271 const int32_t* array, int32_t* dims, int32_t num_dims);
273 const float32_t* array, int32_t* dims, int32_t num_dims);
275 const float64_t* array, int32_t* dims, int32_t num_dims);
277 const int16_t* array, int32_t* dims, int32_t num_dims);
279 const uint16_t* array, int32_t* dims, int32_t num_dims);
353 inline virtual const char*
get_name()
const {
return "BinaryFile"; }
389 template <
class DT> DT* load_data(DT* target, int64_t& num)
392 return f.load(target, num);
401 template <
class DT>
bool save_data(DT* src, int64_t num)
404 return f.save(src, num);
408 #endif //__BINARY_FILE_H__