31 std::function<
bool(
int,
IArchive&)> iterArchiveFn,
32 std::function<
bool(
int)> resizeFn =
nullptr)
override;
37 std::function<
bool(
int,
IArchive&)> groupArchiveFn,
38 std::function<
bool(
int)> resizeFn =
nullptr)
override;
64 virtual bool WriteData(
const void* dataPtr,
size_t size) = 0;
Process tag used to group data in archive stream.
Base class for archive implementations writting data based on its binary representation.
bool ProcessObject(const CArchiveTag &tag, ISerializable &object)
Process object enclosed by some tag.
bool ProcessLeaf(const CArchiveTag &tag, quint16 &value) override
Process primitive type.
bool ProcessBytes(const CArchiveTag &tag, void *dataPtr, int size) override
Process binary data block.
virtual bool WriteData(const void *dataPtr, size_t size)=0
Process binary data block.
virtual bool BeginTag(const CArchiveTag &tag)
Begin of archive tag.
bool ProcessLeaf(const CArchiveTag &tag, double &value) override
Process primitive type.
bool ProcessLeaf(const CArchiveTag &tag, quint32 &value) override
Process primitive type.
bool ProcessLeaf(const CArchiveTag &tag, qint32 &value) override
Process primitive type.
bool ProcessAnyList(const CArchiveTag &listTag, const CArchiveTag &subTag, int count, std::function< bool(int, IArchive &)> iterArchiveFn, std::function< bool(int)> resizeFn=nullptr) override
Process some list of elements.
bool ProcessLeaf(const CArchiveTag &tag, qint8 &value) override
Process primitive type.
bool ProcessLeaf(const CArchiveTag &tag, float &value) override
Process primitive type.
virtual bool EndTag(const CArchiveTag &tag)
End of archive tag.
bool ProcessLeaf(const CArchiveTag &tag, qint64 &value) override
Process primitive type.
CBinaryWriteArchiveBase(const IVersionInfo *versionInfoPtr)
CWriteArchiveBase BaseClass
bool ProcessLeaf(const CArchiveTag &tag, qint16 &value) override
Process primitive type.
bool ProcessLeaf(const CArchiveTag &tag, quint64 &value) override
Process primitive type.
bool ProcessGroup(const CArchiveTag &tag, std::function< bool(IArchive &)> groupArchiveFn) override
Process some group of elements encapsulated in single tag.
bool ProcessGroupList(const CArchiveTag &listTag, const CArchiveTag &groupTag, int count, std::function< bool(int, IArchive &)> groupArchiveFn, std::function< bool(int)> resizeFn=nullptr) override
Process list of elements in groups.
bool ProcessLeaf(const CArchiveTag &tag, QByteArray &value) override
Process primitive type.
bool ProcessLeaf(const CArchiveTag &tag, char &value) override
Process primitive type.
bool ProcessLeaf(const CArchiveTag &tag, bool &value) override
Process primitive type.
bool ProcessLeaf(const CArchiveTag &tag, quint8 &value) override
Process primitive type.
bool ProcessLeaf(const CArchiveTag &tag, QString &value) override
Process primitive type.
Basic implementation of an abstract archive for data writting.
Represent input/output persistence archive.
Common class for all classes which objects can be archived or restored from archive.
Provides access to version information.
Contains general persistence mechanism with basic archives implementations.