14 #ifndef __ASCII_FILE_H__
15 #define __ASCII_FILE_H__
54 CAsciiFile(
const char* fname,
char rw=
'r',
const char* name=NULL);
66 virtual void get_vector(uint8_t*& vector, int32_t& len);
67 virtual void get_vector(
char*& vector, int32_t& len);
68 virtual void get_vector(int32_t*& vector, int32_t& len);
71 virtual void get_vector(int16_t*& vector, int32_t& len);
72 virtual void get_vector(uint16_t*& vector, int32_t& len);
84 uint8_t*& matrix, int32_t& num_feat, int32_t& num_vec);
86 int8_t*& matrix, int32_t& num_feat, int32_t& num_vec);
88 char*& matrix, int32_t& num_feat, int32_t& num_vec);
90 int32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
92 uint32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
94 int64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
96 uint64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
98 float32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
100 float64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
102 floatmax_t*& matrix, int32_t& num_feat, int32_t& num_vec);
104 int16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
106 uint16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
118 uint8_t*& array, int32_t*& dims, int32_t& num_dims);
120 int8_t*& array, int32_t*& dims, int32_t& num_dims);
122 char*& array, int32_t*& dims, int32_t& num_dims);
124 int32_t*& array, int32_t*& dims, int32_t& num_dims);
126 uint32_t*& array, int32_t*& dims, int32_t& num_dims);
128 int64_t*& array, int32_t*& dims, int32_t& num_dims);
130 uint64_t*& array, int32_t*& dims, int32_t& num_dims);
132 float32_t*& array, int32_t*& dims, int32_t& num_dims);
134 float64_t*& array, int32_t*& dims, int32_t& num_dims);
136 floatmax_t*& array, int32_t*& dims, int32_t& num_dims);
138 int16_t*& array, int32_t*& dims, int32_t& num_dims);
140 uint16_t*& array, int32_t*& dims, int32_t& num_dims);
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);
214 int32_t& max_string_len);
217 int32_t& max_string_len);
220 int32_t& max_string_len);
223 int32_t& max_string_len);
233 virtual void set_vector(
const uint8_t* vector, int32_t len);
234 virtual void set_vector(
const char* vector, int32_t len);
235 virtual void set_vector(
const int32_t* vector, int32_t len);
238 virtual void set_vector(
const int16_t* vector, int32_t len);
239 virtual void set_vector(
const uint16_t* vector, int32_t len);
251 const uint8_t* matrix, int32_t num_feat, int32_t num_vec);
253 const int8_t* matrix, int32_t num_feat, int32_t num_vec);
255 const char* matrix, int32_t num_feat, int32_t num_vec);
257 const int32_t* matrix, int32_t num_feat, int32_t num_vec);
259 const uint32_t* matrix, int32_t num_feat, int32_t num_vec);
261 const int64_t* matrix, int32_t num_feat, int32_t num_vec);
263 const uint64_t* matrix, int32_t num_feat, int32_t num_vec);
265 const float32_t* matrix, int32_t num_feat, int32_t num_vec);
267 const float64_t* matrix, int32_t num_feat, int32_t num_vec);
269 const floatmax_t* matrix, int32_t num_feat, int32_t num_vec);
271 const int16_t* matrix, int32_t num_feat, int32_t num_vec);
273 const uint16_t* matrix, int32_t num_feat, int32_t num_vec);
284 const uint8_t* array, int32_t* dims, int32_t num_dims);
286 const int8_t* array, int32_t* dims, int32_t num_dims);
288 const char* array, int32_t* dims, int32_t num_dims);
290 const int32_t* array, int32_t* dims, int32_t num_dims);
292 const uint32_t* array, int32_t* dims, int32_t num_dims);
294 const int64_t* array, int32_t* dims, int32_t num_dims);
296 const uint64_t* array, int32_t* dims, int32_t num_dims);
298 const float32_t* array, int32_t* dims, int32_t num_dims);
300 const float64_t* array, int32_t* dims, int32_t num_dims);
302 const floatmax_t* array, int32_t* dims, int32_t num_dims);
304 const int16_t* array, int32_t* dims, int32_t num_dims);
306 const uint16_t* array, int32_t* dims, int32_t num_dims);
380 inline virtual const char*
get_name()
const {
return "AsciiFile"; }
397 static ssize_t
getdelim(
char **lineptr,
size_t *n,
char delimiter, FILE* stream);
409 static ssize_t
getline(
char **lineptr,
size_t *n, FILE *stream);
428 template <
class T>
void append_item(
DynArray<T>* items,
char* ptr_data,
char* ptr_item);
436 #endif //__ASCII_FILE_H__