14 #ifndef __ASCII_FILE_H__
15 #define __ASCII_FILE_H__
54 CAsciiFile(
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__
virtual void get_longreal_sparsematrix(SGSparseVector< floatmax_t > *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void set_int8_string_list(const SGString< int8_t > *strings, int32_t num_str)
static void tokenize(char delim, substring s, v_array< substring > &ret)
virtual void get_longreal_ndarray(floatmax_t *&array, int32_t *&dims, int32_t &num_dims)
virtual void set_uint_ndarray(const uint32_t *array, int32_t *dims, int32_t num_dims)
virtual void get_string_list(SGString< uint8_t > *&strings, int32_t &num_str, int32_t &max_string_len)
virtual void set_ndarray(const uint8_t *array, int32_t *dims, int32_t num_dims)
virtual void set_long_sparsematrix(const SGSparseVector< int64_t > *matrix, int32_t num_feat, int32_t num_vec)
virtual void set_int8_ndarray(const int8_t *array, int32_t *dims, int32_t num_dims)
Class v_array is a templated class used to store variable length arrays. Memory locations are stored ...
virtual void get_long_ndarray(int64_t *&array, int32_t *&dims, int32_t &num_dims)
virtual void set_longreal_string_list(const SGString< floatmax_t > *strings, int32_t num_str)
virtual void get_ulong_sparsematrix(SGSparseVector< uint64_t > *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void set_string_list(const SGString< uint8_t > *strings, int32_t num_str)
virtual void set_ulong_sparsematrix(const SGSparseVector< uint64_t > *matrix, int32_t num_feat, int32_t num_vec)
virtual void get_long_string_list(SGString< int64_t > *&strings, int32_t &num_str, int32_t &max_string_len)
virtual void get_ulong_ndarray(uint64_t *&array, int32_t *&dims, int32_t &num_dims)
virtual void set_uint_string_list(const SGString< uint32_t > *strings, int32_t num_str)
virtual void set_uint_sparsematrix(const SGSparseVector< uint32_t > *matrix, int32_t num_feat, int32_t num_vec)
A Ascii File access class.
struct Substring, specified by start position and end position.
virtual void set_long_ndarray(const int64_t *array, int32_t *dims, int32_t num_dims)
virtual void set_vector(const uint8_t *vector, int32_t len)
template class SGSparseVector
virtual void get_ulong_string_list(SGString< uint64_t > *&strings, int32_t &num_str, int32_t &max_string_len)
static ssize_t getline(char **lineptr, size_t *n, FILE *stream)
virtual void set_matrix(const uint8_t *matrix, int32_t num_feat, int32_t num_vec)
virtual void get_ndarray(uint8_t *&array, int32_t *&dims, int32_t &num_dims)
virtual void get_uint_string_list(SGString< uint32_t > *&strings, int32_t &num_str, int32_t &max_string_len)
virtual void get_uint_matrix(uint32_t *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void get_long_matrix(int64_t *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void set_ulong_string_list(const SGString< uint64_t > *strings, int32_t num_str)
virtual void set_ulong_matrix(const uint64_t *matrix, int32_t num_feat, int32_t num_vec)
Template Dynamic array class that creates an array that can be used like a list or an array...
A File access base class.
virtual void get_uint_sparsematrix(SGSparseVector< uint32_t > *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void get_int8_ndarray(int8_t *&array, int32_t *&dims, int32_t &num_dims)
CIOBuffer buf
IOBuffer through which the file can be read.
virtual void set_longreal_sparsematrix(const SGSparseVector< floatmax_t > *matrix, int32_t num_feat, int32_t num_vec)
virtual void get_vector(uint8_t *&vector, int32_t &len)
virtual void get_int8_sparsematrix(SGSparseVector< int8_t > *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void set_ulong_ndarray(const uint64_t *array, int32_t *dims, int32_t num_dims)
virtual void get_long_sparsematrix(SGSparseVector< int64_t > *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void set_int8_sparsematrix(const SGSparseVector< int8_t > *matrix, int32_t num_feat, int32_t num_vec)
virtual void get_longreal_string_list(SGString< floatmax_t > *&strings, int32_t &num_str, int32_t &max_string_len)
virtual void set_int8_matrix(const int8_t *matrix, int32_t num_feat, int32_t num_vec)
virtual void get_uint_ndarray(uint32_t *&array, int32_t *&dims, int32_t &num_dims)
virtual void set_sparse_matrix(const SGSparseVector< bool > *matrix, int32_t num_feat, int32_t num_vec)
virtual void set_long_matrix(const int64_t *matrix, int32_t num_feat, int32_t num_vec)
virtual void set_longreal_ndarray(const floatmax_t *array, int32_t *dims, int32_t num_dims)
virtual void get_int8_matrix(int8_t *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void get_ulong_matrix(uint64_t *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void get_sparse_matrix(SGSparseVector< bool > *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void set_uint_matrix(const uint32_t *matrix, int32_t num_feat, int32_t num_vec)
virtual void set_long_string_list(const SGString< int64_t > *strings, int32_t num_str)
virtual void get_longreal_matrix(floatmax_t *&matrix, int32_t &num_feat, int32_t &num_vec)
virtual void set_longreal_matrix(const floatmax_t *matrix, int32_t num_feat, int32_t num_vec)
virtual const char * get_name() const
virtual void get_int8_string_list(SGString< int8_t > *&strings, int32_t &num_str, int32_t &max_string_len)
virtual void get_matrix(uint8_t *&matrix, int32_t &num_feat, int32_t &num_vec)
static ssize_t getdelim(char **lineptr, size_t *n, char delimiter, FILE *stream)