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(int8_t*& vector, int32_t& len);
60 virtual void get_vector(uint8_t*& vector, int32_t& len);
61 virtual void get_vector(
char*& vector, int32_t& len);
62 virtual void get_vector(int32_t*& vector, int32_t& len);
63 virtual void get_vector(uint32_t*& vector, int32_t& len);
67 virtual void get_vector(int16_t*& vector, int32_t& len);
68 virtual void get_vector(uint16_t*& vector, int32_t& len);
69 virtual void get_vector(int64_t*& vector, int32_t& len);
70 virtual void get_vector(uint64_t*& vector, int32_t& len);
82 uint8_t*& matrix, int32_t& num_feat, int32_t& num_vec);
84 int8_t*& matrix, int32_t& num_feat, int32_t& num_vec);
86 char*& matrix, int32_t& num_feat, int32_t& num_vec);
88 int32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
90 uint32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
92 int64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
94 uint64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
96 float32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
98 float64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
100 floatmax_t*& matrix, int32_t& num_feat, int32_t& num_vec);
102 int16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
104 uint16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
116 uint8_t*& array, int32_t*& dims, int32_t& num_dims);
118 char*& array, int32_t*& dims, int32_t& num_dims);
120 int32_t*& array, int32_t*& dims, int32_t& num_dims);
122 float32_t*& array, int32_t*& dims, int32_t& num_dims);
124 float64_t*& array, int32_t*& dims, int32_t& num_dims);
126 int16_t*& array, int32_t*& dims, int32_t& num_dims);
128 uint16_t*& array, int32_t*& dims, int32_t& num_dims);
178 int32_t& max_string_len);
181 int32_t& max_string_len);
184 int32_t& max_string_len);
187 int32_t& max_string_len);
190 int32_t& max_string_len);
193 int32_t& max_string_len);
196 int32_t& max_string_len);
199 int32_t& max_string_len);
202 int32_t& max_string_len);
205 int32_t& max_string_len);
208 int32_t& max_string_len);
211 int32_t& max_string_len);
221 virtual void set_vector(
const int8_t* vector, int32_t len);
222 virtual void set_vector(
const uint8_t* vector, int32_t len);
223 virtual void set_vector(
const char* vector, int32_t len);
224 virtual void set_vector(
const int32_t* vector, int32_t len);
225 virtual void set_vector(
const uint32_t* vector, int32_t len);
229 virtual void set_vector(
const int16_t* vector, int32_t len);
230 virtual void set_vector(
const uint16_t* vector, int32_t len);
231 virtual void set_vector(
const int64_t* vector, int32_t len);
232 virtual void set_vector(
const uint64_t* vector, int32_t len);
244 const uint8_t* matrix, int32_t num_feat, int32_t num_vec);
246 const int8_t* matrix, int32_t num_feat, int32_t num_vec);
248 const char* matrix, int32_t num_feat, int32_t num_vec);
250 const int32_t* matrix, int32_t num_feat, int32_t num_vec);
252 const uint32_t* matrix, int32_t num_feat, int32_t num_vec);
254 const int64_t* matrix, int32_t num_feat, int32_t num_vec);
256 const uint64_t* matrix, int32_t num_feat, int32_t num_vec);
258 const float32_t* matrix, int32_t num_feat, int32_t num_vec);
260 const float64_t* matrix, int32_t num_feat, int32_t num_vec);
262 const floatmax_t* matrix, int32_t num_feat, int32_t num_vec);
264 const int16_t* matrix, int32_t num_feat, int32_t num_vec);
266 const uint16_t* matrix, int32_t num_feat, int32_t num_vec);
277 const uint8_t* array, int32_t* dims, int32_t num_dims);
279 const char* array, int32_t* dims, int32_t num_dims);
281 const int32_t* array, int32_t* dims, int32_t num_dims);
283 const float32_t* array, int32_t* dims, int32_t num_dims);
285 const float64_t* array, int32_t* dims, int32_t num_dims);
287 const int16_t* array, int32_t* dims, int32_t num_dims);
289 const uint16_t* array, int32_t* dims, int32_t num_dims);
363 virtual const char*
get_name()
const {
return "BinaryFile"; }
399 template <
class DT> DT* load_data(DT* target, int64_t& num)
402 return f.load(target, num);
411 template <
class DT>
bool save_data(DT* src, int64_t num)
414 return f.save(src, num);
418 #endif //__BINARY_FILE_H__