ACF $AcfVersion:0$
CMemoryWriteArchive.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtCore/QByteArray>
7
8// ACF includes
10
11
12namespace iser
13{
14
15
23{
24public:
26
28 const IVersionInfo* versionInfoPtr = NULL,
29 bool serializeHeader = true);
30
31 const void* GetBuffer() const;
32 int GetBufferSize() const;
33
37 void Reset();
38
39 bool operator==(const CMemoryWriteArchive& archive) const;
40 bool operator!=(const CMemoryWriteArchive& archive) const;
41
42 // reimplemented (iser::IArchive)
43 virtual bool ProcessData(void* data, int size) override;
44
45protected:
46 typedef QByteArray DataBuffer;
47
49
51};
52
53
54// inline methods
55
57{
58 return m_dataBuffer == archive.m_dataBuffer;
59}
60
61
63{
64 return m_dataBuffer != archive.m_dataBuffer;
65}
66
67
68} // namespace iser
69
70
71
72
Base class for archive implementations writting data based on its binary representation.
Implementation of archive using memory buffer to store the persistent objects.
const void * GetBuffer() const
CMemoryWriteArchive(const IVersionInfo *versionInfoPtr=NULL, bool serializeHeader=true)
bool operator!=(const CMemoryWriteArchive &archive) const
virtual bool ProcessData(void *data, int size) override
Process binary data block.
void Reset()
Reset internal buffer.
bool operator==(const CMemoryWriteArchive &archive) const
CBinaryWriteArchiveBase BaseClass
Provides access to version information.
#define NULL
Definition istd.h:74
Contains general persistence mechanism with basic archives implementations.