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(
241 if (fprintf(
m_fstream,
"%"PRIi32
" %"PRIi32
" %c", vec_index, length,
248 CSerializableAsciiFile::write_sparse_end_wrapped(
258 CSerializableAsciiFile::write_sparseentry_begin_wrapped(
269 CSerializableAsciiFile::write_sparseentry_end_wrapped(
279 CSerializableAsciiFile::write_item_begin_wrapped(
288 CSerializableAsciiFile::write_item_end_wrapped(
297 CSerializableAsciiFile::write_sgserializable_begin_wrapped(
298 const TSGDataType* type,
const char* sgserializable_name,
299 EPrimitiveType
generic)
301 if (*sgserializable_name ==
'\0') {
306 if (fprintf(
m_fstream,
"%s ", sgserializable_name) <= 0)
312 if (fprintf(
m_fstream,
"%s ", buf) <= 0)
return false;
324 CSerializableAsciiFile::write_sgserializable_end_wrapped(
325 const TSGDataType* type,
const char* sgserializable_name,
326 EPrimitiveType
generic)
335 CSerializableAsciiFile::write_type_begin_wrapped(
336 const TSGDataType* type,
const char* name,
const char* prefix)
343 if (fprintf(
m_fstream,
"%s %s ", name, buf) <= 0)
return false;
349 CSerializableAsciiFile::write_type_end_wrapped(
350 const TSGDataType* type,
const char* name,
const char* prefix)