48 const bool verbose =
false);
108 static bool _littleEndian;
110 static const UInt32 _version = 1;
111 static const UInt32 _indicesPerBlock =
BLKSIZE /
sizeof(EntryIndex);
114 std::string _fileName;
117 tFileHeader _fileHeader;
119 std::vector<EntryIndex> _indices;
136 void WriteUInt32AtIndex(
const UInt32 theWord,
const UInt32 index);
137 void WriteUInt32sAtIndex(
const std::vector<UInt32>& Words,
139 void WriteStringAtIndex(
const std::string& theString,
const UInt32 index);
140 void WriteStringsAtIndex(
const std::vector<std::string>& theStrings,
143 void Delete(
const UInt32 index);
145 void GetLastDataBuffer(
void);
146 void GetDataBufferAtIndex(
const UInt32 index);
148 void _GetHeader(
const char* where);
149 void _PutHeader(
char* where);
151 void _GetIndex(EntryIndex& outIndex,
const char* where);
152 void _PutIndex(
const EntryIndex& inIndex,
char* where);
154 UInt32 _GetUInt32(
const char* where);
155 void _PutUInt32(
const UInt32 inWord,
char* where);
157 void SwapHeader(tFileHeader& out,
const tFileHeader& in);
158 void SwapIndex(EntryIndex& out,
const EntryIndex& in);
161 void _ReadFileHeader();
162 void _WriteFileHeader();
164 void AllocateIndices(
const UInt32 index);
169 char* GetWritingPoint(
const UInt32 index);
170 void WriteLast(
const char*
const where);
172 void SetVirtualLength(
const UInt32 index);
179 void OpenFileIO(
const std::string& filename,
const eFileMode fileMode);
182 inline UInt32 GetCurrentBlockNumberIO()
const;
183 inline UInt32 GetNumBlocksIO()
const;
186 void PrintIndexPosition(
const UInt32 position);
194 return (_indices.size());
198 inline UInt32 Serializer::GetCurrentBlockNumberIO()
const
200 return (_currentBlockIO);
204 inline UInt32 Serializer::GetNumBlocksIO()
const
206 return (_numBlocksIO);