37 #include <sys/types.h>
69 File(
const char* filename,
Mode mode);
112 template <
class T>
void TRead(T& t)
120 template <
class T>
void TWrite(
const T& t)
130 void Read(DataFrameHeader& header);
131 void Write(
const DataFrameHeader& header);
133 void Read(FrameHeader& header);
134 void Write(
const FrameHeader& header);
136 void Read(MatrixHeader& header);
137 void Write(
const MatrixHeader& header);
139 void Read(OpeningsFrame& frame);
140 void Write(
const OpeningsFrame& frame);
142 void Read(
Matrix& matrix);
143 void Write(
const Matrix& matrix);
145 void Read(TypeId& header);
146 void Write(
const TypeId& header);
148 void SkipMatrixData(
const Matrix& matrix);
149 void ReadMatrixData(
Matrix& matrix);
150 void WriteMatrixData(
const Matrix& matrix);
153 void Read(Storage& storage);
154 void Write(
const Storage& storage);
156 void Read(Frame& frame);
157 void Write(
const Frame& frame);
166 int pos = lseek(mFile,0,SEEK_CUR);
172 return lseek(mFile,pos,SEEK_SET);
177 if (read(mFile,(
char*)ptr,n)!=n) {
178 throw CLAM::Err(
"DataFileIO read error");
182 inline void File::Write(
const CLAM::TByte* ptr,
int n)
184 if (write(mFile,(
const char*)ptr,n)!=n) {
185 throw CLAM::Err(
"DataFileIO read error");
197 #ifdef CLAM_LITTLE_ENDIAN
198 _FixByteOrder(ptr,nElems,elemSize);
200 #ifndef CLAM_BIG_ENDIAN
201 #pragma message ("BYTE ORDER NOT DEFINED!")