ICF 3.1.1.10
Technical documentation of ICF Libraries
ISerializable.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#pragma once
7
8
9// ICF includes
10#include <istd/IChangeable.h>
11
12
13namespace iser
14{
15
16
17class IArchive;
18
19
24class ISerializable: virtual public istd::IChangeable
25{
26public:
32 virtual bool Serialize(IArchive& archive) = 0;
37 virtual quint32 GetMinimalVersion(int versionId) const;
38};
39
40
41// inline methods
42
43inline quint32 ISerializable::GetMinimalVersion(int /*versionId*/) const
44{
45 return 0;
46}
47
48
49} // namespace iser
50
51
Represent input/output persistence archive.
Definition IArchive.h:34
Common class for all classes which objects can be archived or restored from archive.
virtual bool Serialize(IArchive &archive)=0
Load or store state of this object as a archive stream.
virtual quint32 GetMinimalVersion(int versionId) const
Get minimal needed version to correct storing of this data.
Common interface for data model objects, which can be changed.
Definition IChangeable.h:32
Contains general persistence mechanism with basic archives implementations.

© Witold Gantzke and Kirill Lepskiy