|
ACF $AcfVersion:0$
|
Implementation of serialize method for some common data types. More...
#include <CPrimitiveTypesSerializer.h>
Public Member Functions | |
| template<typename ContainerType > | |
| bool | SerializeContainer (iser::IArchive &archive, ContainerType &container, const QByteArray &containerTagName, const QByteArray &elementTagName) |
| template<typename ContainerType > | |
| bool | SerializeObjectContainer (iser::IArchive &archive, ContainerType &container, const QByteArray &containerTagName, const QByteArray &elementTagName) |
Static Public Member Functions | |
| static bool | SerializeRange (iser::IArchive &archive, istd::CRange &range) |
| Serialize a range object. | |
| static bool | SerializeIntRange (iser::IArchive &archive, istd::CIntRange &range) |
| Serialize an integer-based range object. | |
| static bool | SerializeRanges (iser::IArchive &archive, istd::CRanges &ranges) |
| Serialize list of range objects. | |
| static bool | SerializeIntRanges (iser::IArchive &archive, istd::CIntRanges &ranges) |
| Serialize list of integer-based ranges. | |
| static bool | SerializeDateTime (iser::IArchive &archive, QDateTime &dateTime) |
| Serialize QDateTime object. | |
| static bool | SerializeDate (iser::IArchive &archive, QDate &date) |
| Serialize QDate object. | |
| template<typename ValueType > | |
| static bool | SerializeRange (iser::IArchive &archive, istd::TRange< ValueType > &range) |
| Serialize a generic range object. | |
| template<int Dimensions> | |
| static bool | SerializeIndex (iser::IArchive &archive, istd::TIndex< Dimensions > &index) |
| Serialize a generic index object. | |
| static bool | SerializeQPointF (iser::IArchive &archive, QPointF &point) |
| Serialize a QPointF object. | |
| static bool | SerializeQVariant (iser::IArchive &archive, QVariant &variant) |
| Serialize a QVariant object. | |
| static bool | SerializeQStringList (iser::IArchive &archive, QStringList &stringList, const QByteArray &containerTagName="Elements", const QByteArray &elementTagName="Element") |
| Serialize a QStringList object. | |
| template<typename ContainterType > | |
| static bool | SerializeContainer (iser::IArchive &archive, ContainterType &container, const QByteArray &containerTagName="Elements", const QByteArray &elementTagName="Element") |
| template<typename ContainterType > | |
| static bool | SerializeObjectContainer (iser::IArchive &archive, ContainterType &container, const QByteArray &containerTagName="Elements", const QByteArray &elementTagName="Element") |
| template<typename EnumType , QByteArray(*)(EnumType) ToString, bool(*)(const QByteArray &, EnumType &) FromString> | |
| static bool | SerializeEnum (iser::IArchive &archive, EnumType &enumValue) |
| Method for serialization of the enumerated value using ACF's meta information extensions for the C++ enums. | |
| template<typename EnumType > | |
| static bool | SerializeQEnum (iser::IArchive &archive, EnumType &enumValue) |
| Method for serialization of the enumerated value using Qt's meta information system (Q_ENUM or Q_ENUM_NS). | |
| template<typename ContainerType , typename KeyType > | |
| static bool | SerializeAssociativeContainer (iser::IArchive &archive, ContainerType &container, bool(*SerializeKeyFunction)(iser::IArchive &, KeyType &key), const QByteArray &containerTagName, const QByteArray &elementTagName="Element", const QByteArray &keyTagId="Key", const QByteArray &valueTagId="Value", const QByteArray &containerComment="List of elements") |
This method can be used for serialization associatime containers i.e.: QHash, QMap std::map (since c++17)... | |
| template<typename ContainerType , typename KeyType > | |
| static bool | SerializeAssociativeObjectContainer (iser::IArchive &archive, ContainerType &container, bool(*SerializeKeyFunction)(iser::IArchive &, KeyType &key), const QByteArray &containerTagName, const QByteArray &elementTagName="Element", const QByteArray &keyTagId="Key", const QByteArray &valueTagId="Value", const QByteArray &containerComment="List of elements") |
| template<typename ObjectType > | |
| static bool | SerializeOptionalObject (iser::IArchive &archive, std::unique_ptr< ObjectType > &objectPtrRef, const QByteArray &tagName) |
| template<typename ObjectInterface > | |
| static bool | SerializeOptionalObject (iser::IArchive &archive, std::unique_ptr< ObjectInterface > &objectPtrRef, istd::TIFactory< ObjectInterface > &objectFactoryPtr, const QByteArray &tagName) |
Implementation of serialize method for some common data types.
Definition at line 31 of file CPrimitiveTypesSerializer.h.
|
static |
This method can be used for serialization associatime containers i.e.: QHash, QMap std::map (since c++17)...
Definition at line 372 of file CPrimitiveTypesSerializer.h.
References iser::IArchive::BeginMultiTag(), iser::IArchive::BeginTag(), iser::IArchive::EndTag(), iser::IArchive::IsStoring(), iser::IArchive::Process(), iser::CArchiveTag::TT_GROUP, iser::CArchiveTag::TT_LEAF, and iser::CArchiveTag::TT_MULTIPLE.
|
static |
Definition at line 451 of file CPrimitiveTypesSerializer.h.
References iser::IArchive::BeginMultiTag(), iser::IArchive::BeginTag(), iser::IArchive::EndTag(), iser::IArchive::IsStoring(), iser::CArchiveTag::TT_GROUP, iser::CArchiveTag::TT_LEAF, and iser::CArchiveTag::TT_MULTIPLE.
| bool iser::CPrimitiveTypesSerializer::SerializeContainer | ( | iser::IArchive & | archive, |
| ContainerType & | container, | ||
| const QByteArray & | containerTagName, | ||
| const QByteArray & | elementTagName | ||
| ) |
Definition at line 202 of file CPrimitiveTypesSerializer.h.
References iser::IArchive::BeginMultiTag(), iser::IArchive::BeginTag(), iser::IArchive::EndTag(), iser::IArchive::IsStoring(), iser::IArchive::Process(), iser::CArchiveTag::TT_LEAF, and iser::CArchiveTag::TT_MULTIPLE.
|
static |
|
static |
Serialize QDate object.
|
static |
Serialize QDateTime object.
|
static |
Method for serialization of the enumerated value using ACF's meta information extensions for the C++ enums.
This implementation supports both methods for serialization of the enumerator - as integer value or in textual form. The second variant is only possible if the enumeration was defined using I_DECLARE_ENUM macro.
Definition at line 304 of file CPrimitiveTypesSerializer.h.
References iser::IArchive::IsStoring(), NULL, and iser::IArchive::Process().
|
static |
Serialize a generic index object.
Definition at line 189 of file CPrimitiveTypesSerializer.h.
References iser::IArchive::Process().
|
static |
Serialize an integer-based range object.
|
static |
Serialize list of integer-based ranges.
| bool iser::CPrimitiveTypesSerializer::SerializeObjectContainer | ( | iser::IArchive & | archive, |
| ContainerType & | container, | ||
| const QByteArray & | containerTagName, | ||
| const QByteArray & | elementTagName | ||
| ) |
Definition at line 253 of file CPrimitiveTypesSerializer.h.
References iser::IArchive::BeginMultiTag(), iser::IArchive::BeginTag(), iser::IArchive::EndTag(), iser::IArchive::IsStoring(), iser::CArchiveTag::TT_GROUP, and iser::CArchiveTag::TT_MULTIPLE.
|
static |
|
static |
|
static |
|
static |
Method for serialization of the enumerated value using Qt's meta information system (Q_ENUM or Q_ENUM_NS).
Definition at line 346 of file CPrimitiveTypesSerializer.h.
References iser::IArchive::IsStoring(), and iser::IArchive::Process().
|
static |
Serialize a QPointF object.
|
static |
Serialize a QStringList object.
|
static |
Serialize a QVariant object.
|
static |
Serialize a range object.
|
static |
Serialize a generic range object.
Definition at line 170 of file CPrimitiveTypesSerializer.h.
References iser::IArchive::BeginTag(), iser::IArchive::EndTag(), istd::TRange< ValueType >::GetMaxValueRef(), istd::TRange< ValueType >::GetMinValueRef(), iser::IArchive::Process(), and iser::CArchiveTag::TT_LEAF.
|
static |
Serialize list of range objects.