244 if (fread ((
void*)buffer, size_of_t, 1, fp)!=1)
261 V.reserve(V.size() + Count);
262 if (V.capacity() < Count)
263 throw CExpc(
Format(
"cannot allocate %u bytes in ReadVectorInner",size_of_t*Count));
265 for (
int i = 0; i < Count; i++)
267 if (fread ((
void*)buffer, size_of_t, 1, fp)!=1)
268 throw CExpc(
Format(
"cannot read %i item in ReadVectorInner",i));
273 catch ( length_error &e )
275 fprintf (stderr,
"ReadVectorInner:length_error exception is caught: %s\n", e.what( ));
278 catch ( exception &e )
280 fprintf (stderr,
"ReadVectorInner: general std::exception is caught: %s\n", e.what( ));
294 inline void ReadVector (
const string& FileName, vector<T>& V)
299 FILE* fp = fopen (FileName.c_str(),
"rb");
304 size_t Count = (size_t)sz/size_of_t;
325 return fwrite((
void*)buffer, size_of_t, 1, fp) == 1;
337 size_t count = V.size();
339 for (
size_t i =0; i < count; i++)
342 if (!fwrite((
void*)buffer, size_of_t, 1, fp))
return false;
349 inline bool WriteVector (
const string& FileName,
const vector<T>& V)
351 FILE* fp = fopen (FileName.c_str(),
"wb");
T3 third
Definition: utilit.h:175
size_t get_size_in_bytes(const DWORD &t)
Definition: bserialize.h:26
string Format(const char *format,...)
Definition: ddcString.cpp:393
uint64_t QWORD
Definition: utilit.h:107
QWORD file_off_t
Definition: utilit.h:179
generic local exception class moo: derived from stdexcept runtime_error
Definition: utilit.h:183
const int VectorMaxStructSize
Definition: bserialize.h:237
size_t restore_from_bytes(DWORD &i, const BYTE *buf)
Definition: bserialize.h:36
size_t save_to_bytes(const DWORD &i, BYTE *buf)
Definition: bserialize.h:30
void ErrorMessage(const string &label, const string &message)
Definition: utilit.cpp:400
uint16_t WORD
Definition: utilit.h:106
bool WriteVector(const string &FileName, const vector< T > &V)
Definition: bserialize.h:349
bool BinaryWriteItem(FILE *fp, const T &V)
Definition: bserialize.h:320
void ReadVectorInner(FILE *fp, vector< T > &V, size_t Count)
Definition: bserialize.h:251
bool BinaryReadItem(FILE *fp, T &V)
Definition: bserialize.h:240
unsigned char BYTE
Definition: utilit.h:94
void ReadVector(const string &FileName, vector< T > &V)
Definition: bserialize.h:294
bool WriteVectorInner(FILE *fp, const vector< T > &V)
Definition: bserialize.h:329
file_off_t FileSize(const char *filename)
Definition: utilit.cpp:340
size_t GetSizeInBytes()
Definition: bserialize.h:287
uint32_t DWORD
Definition: utilit.h:105
Definition: lex_util.h:172