6#include <QtCore/QByteArray>
9#include <QtCore/QString>
436 template<
typename Primitive>
438 static_assert(!std::is_const_v<Primitive>,
"Input value is const-qualified");
456 virtual bool ProcessBits(
void* dataPtr,
int bitsCount,
int bytesCount) = 0;
Process tag used to group data in archive stream.
Represents an input/output persistence archive for object serialization.
virtual bool IsTagSkippingSupported() const =0
Checks if skipping to the end of a tag on EndTag() is supported.
virtual const IVersionInfo & GetVersionInfo() const =0
Gets version information for the archived stream.
virtual bool Process(bool &value)=0
Processes (reads or writes) a boolean value.
virtual bool Process(qint64 &value)=0
Process primitive type.
virtual bool EndTag(const CArchiveTag &tag)=0
Ends a tagged section in the archive.
virtual bool Process(float &value)=0
Process primitive type.
virtual bool Process(char &value)=0
Process primitive type.
virtual bool Process(quint16 &value)=0
Process primitive type.
virtual bool Process(double &value)=0
Process primitive type.
bool TagAndProcess(const CArchiveTag &tag, Primitive &value)
virtual bool Process(quint8 &value)=0
Process primitive type.
virtual bool Process(qint8 &value)=0
Process primitive type.
virtual bool Process(quint64 &value)=0
Process primitive type.
virtual bool Process(quint32 &value)=0
Process primitive type.
virtual bool Process(QByteArray &value)=0
Process primitive type.
virtual bool BeginMultiTag(const CArchiveTag &tag, const CArchiveTag &subTag, int &count)=0
Begins a tagged section containing multiple elements of the same type.
virtual bool Process(qint16 &value)=0
Process primitive type.
virtual bool ProcessData(void *dataPtr, int size)=0
Process binary data block.
virtual bool IsStoring() const =0
Checks if this archive is in storing (writing) or loading (reading) mode.
virtual bool Process(QString &value)=0
Process primitive type.
virtual bool ProcessBits(void *dataPtr, int bitsCount, int bytesCount)=0
Process binary data block.
virtual bool Process(qint32 &value)=0
Process primitive type.
virtual bool BeginTag(const CArchiveTag &tag)=0
Begins a tagged section in the archive.
Provides access to version information.
Base interface for all used interfaces and implementations.
Contains general persistence mechanism with basic archives implementations.