14 #define STR_HEADER_00 \
15 "<<_SHOGUN_SERIALIZABLE_ASCII_FILE_V_00_>>"
17 using namespace shogun;
26 const char* fname,
char rw)
32 CSerializableAsciiFile::ignore()
34 for (uint32_t cont_count = 0, item_count = 0,
35 sgserial_count = 0; ;) {
41 if (cont_count-- == 0)
return false;
44 if (item_count-- == 0)
return false;
47 if (sgserial_count-- == 0)
return false;
50 if (cont_count == 0 && item_count == 0
51 && sgserial_count == 0)
54 case EOF:
return false;
79 CSerializableAsciiFile::init()
92 SG_WARNING(
"Could not open file `%s', unknown mode!\n",
99 CSerializableAsciiFile::write_scalar_wrapped(
104 if (fprintf(
m_fstream,
"%c", *(
bool*) param?
't':
'f') <= 0)
108 if (fprintf(
m_fstream,
"%"PRIu8, *(uint8_t*) param) <= 0)
112 if (fprintf(
m_fstream,
"%"PRIi8, *(int8_t*) param) <= 0)
116 if (fprintf(
m_fstream,
"%"PRIu8, *(uint8_t*) param) <= 0)
120 if (fprintf(
m_fstream,
"%"PRIi16, *(int16_t*) param) <= 0)
124 if (fprintf(
m_fstream,
"%"PRIu16, *(uint16_t*) param) <= 0)
128 if (fprintf(
m_fstream,
"%"PRIi32, *(int32_t*) param) <= 0)
132 if (fprintf(
m_fstream,
"%"PRIu32, *(uint32_t*) param) <= 0)
136 if (fprintf(
m_fstream,
"%"PRIi64, *(int64_t*) param) <= 0)
140 if (fprintf(
m_fstream,
"%"PRIu64, *(uint64_t*) param) <= 0)
156 SG_ERROR(
"write_scalar_wrapped(): Implementation error during"
157 " writing AsciiFile!");
165 CSerializableAsciiFile::write_cont_begin_wrapped(
172 SG_ERROR(
"write_cont_begin_wrapped(): Implementation error "
173 "during writing AsciiFile!");
175 case CT_VECTOR:
case CT_SGVECTOR:
176 if (fprintf(
m_fstream,
"%"PRIi32
" %c", len_real_y,
180 case CT_MATRIX:
case CT_SGMATRIX:
181 if (fprintf(
m_fstream,
"%"PRIi32
" %"PRIi32
" %c",
191 CSerializableAsciiFile::write_cont_end_wrapped(
200 CSerializableAsciiFile::write_string_begin_wrapped(
203 if (fprintf(
m_fstream,
"%"PRIi32
" %c", length,
210 CSerializableAsciiFile::write_string_end_wrapped(
219 CSerializableAsciiFile::write_stringentry_begin_wrapped(
228 CSerializableAsciiFile::write_stringentry_end_wrapped(
237 CSerializableAsciiFile::write_sparse_begin_wrapped(
240 if (fprintf(
m_fstream,
"%"PRIi32
" %c", length,
247 CSerializableAsciiFile::write_sparse_end_wrapped(
256 CSerializableAsciiFile::write_sparseentry_begin_wrapped(
267 CSerializableAsciiFile::write_sparseentry_end_wrapped(
277 CSerializableAsciiFile::write_item_begin_wrapped(
286 CSerializableAsciiFile::write_item_end_wrapped(
295 CSerializableAsciiFile::write_sgserializable_begin_wrapped(
296 const TSGDataType* type,
const char* sgserializable_name,
297 EPrimitiveType
generic)
299 if (*sgserializable_name ==
'\0') {
304 if (fprintf(
m_fstream,
"%s ", sgserializable_name) <= 0)
310 if (fprintf(
m_fstream,
"%s ", buf) <= 0)
return false;
322 CSerializableAsciiFile::write_sgserializable_end_wrapped(
323 const TSGDataType* type,
const char* sgserializable_name,
324 EPrimitiveType
generic)
333 CSerializableAsciiFile::write_type_begin_wrapped(
334 const TSGDataType* type,
const char* name,
const char* prefix)
341 if (fprintf(
m_fstream,
"%s %s ", name, buf) <= 0)
return false;
347 CSerializableAsciiFile::write_type_end_wrapped(
348 const TSGDataType* type,
const char* name,
const char* prefix)