|
ACF $AcfVersion:0$
|
Common implementation for an abstract serializable container. More...
#include <TSerializableContainer.h>
Public Types | |
| typedef TContainer< ItemClass, ContainerType > | BaseClass |
Public Types inherited from ibase::TContainer< ItemClass, ContainerType > | |
| typedef ContainerType | Container |
Public Types inherited from istd::IChangeable | |
| enum | ChangeFlags { CF_ACF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING , CF_DELEGATED , CF_NO_UNDO } |
| Data model change notification flags. More... | |
| enum | SupportedOperations { SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 , SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 } |
| Flags for supported operations. More... | |
| enum | CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT } |
| Control how relationship betweeen objects are interpreted. More... | |
| typedef QMultiMap< QByteArray, QVariant > | ChangeInfoMap |
Public Types inherited from ibase::CObservableListBase | |
| enum | ChangeFlags { CF_ELEMENT_ADDED = 0x382b230 , CF_ELEMENT_REMOVED , CF_ELEMENT_UPDATED , CF_RESET } |
Public Member Functions | |
| virtual bool | Serialize (iser::IArchive &archive) override |
| Load or store state of this object as a archive stream. | |
Public Member Functions inherited from ibase::TContainer< ItemClass, ContainerType > | |
| virtual void | Reserve (int count) |
| virtual void | Resize (int count) |
| virtual void | RemoveAt (int index) |
| virtual void | Reset () |
| const ItemClass & | GetAt (int index) const |
| ItemClass & | GetAt (int index) |
| ItemClass & | PushBack (const ItemClass &item) |
| ItemClass & | PushFront (const ItemClass &item) |
| ItemClass & | InsertAt (const ItemClass &item, int index) |
| void | PopBack () |
| void | PopFront () |
| void | push_back (const ItemClass &item) |
| void | push_front (const ItemClass &item) |
| ItemClass & | operator[] (qsizetype index) |
| const ItemClass & | operator[] (qsizetype index) const |
| Container::iterator | insert (qsizetype index, const ItemClass &item) |
| Container::iterator | insert (qsizetype index, ItemClass &&item) |
| void | remove (qsizetype i) |
| void | resize (qsizetype size) |
| qsizetype | size () const |
| TContainer & | operator= (const TContainer &container) |
| virtual int | GetItemsCount () const override |
| Returns number of elements in the container. | |
| virtual bool | IsEmpty () const override |
Returns a true if container is empty, otherwise a false. | |
| virtual bool | IsIndexValid (int index) const override |
| virtual bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
| Container::iterator | begin () |
| Container::iterator | end () |
| Container::const_iterator | begin () const |
| Container::const_iterator | end () const |
| Container::const_iterator | cbegin () const |
| Container::const_iterator | cend () const |
| bool | operator== (const TContainer &other) const |
| bool | operator!= (const TContainer &other) const |
Public Member Functions inherited from istd::IChangeable | |
| virtual int | GetSupportedOperations () const |
| Get set of flags for supported operations. | |
| virtual bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) |
| Copy this object from another one. | |
| virtual bool | IsEqual (const IChangeable &object) const |
| Compare this object with another object. | |
| virtual istd::TUniqueInterfacePtr< istd::IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const |
| Make a copy of this object. | |
| virtual bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) |
| Reset data to its default state. | |
| virtual void | BeginChanges (const ChangeSet &changeSet) |
| Starts the change transaction. | |
| virtual void | EndChanges (const ChangeSet &changeSet) |
| Ends the change transaction. | |
| virtual void | BeginChangeGroup (const ChangeSet &changeSet) |
| Starts group of changes. | |
| virtual void | EndChangeGroup (const ChangeSet &changeSet) |
| Ends group of changes. | |
Public Member Functions inherited from istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
Public Member Functions inherited from iser::ISerializable | |
| virtual quint32 | GetMinimalVersion (int versionId) const |
| Get minimal needed version to correct storing of this data. | |
Protected Member Functions | |
| virtual bool | SerializeItem (ItemClass &item, iser::IArchive &archive, iser::CArchiveTag *parentTagPtr=NULL)=0 |
| Serialize a single item in the container. | |
Protected Member Functions inherited from istd::IChangeable | |
| virtual void | OnBeginChanges () |
| Callback function for begin change event. | |
| virtual void | OnEndChanges (const ChangeSet &changeSet) |
| Callback function for end change event. | |
Additional Inherited Members | |
Static Public Member Functions inherited from istd::IChangeable | |
| static const ChangeSet & | GetNoChanges () |
| Get empty set of changes. | |
| static const ChangeSet & | GetAnyChange () |
| Get anonymous change set. | |
| static const ChangeSet & | GetAllChanges () |
| Get anonymous change set. | |
| static const ChangeSet & | GetDelegatedChanges () |
| Get delegated change set. | |
Static Public Attributes inherited from ibase::CObservableListBase | |
| static const QByteArray | CN_INDEX_ID = QByteArrayLiteral("INDEX") |
Protected Types inherited from ibase::TContainer< ItemClass, ContainerType > | |
| typedef ContainerType | Items |
Static Protected Member Functions inherited from ibase::CObservableListBase | |
| static istd::IChangeable::ChangeSet | ElementAddChanges (qsizetype index) |
| static istd::IChangeable::ChangeSet | ElementRemoveChanges (qsizetype index) |
| static istd::IChangeable::ChangeSet | ElementUpdatedChanges (qsizetype index) |
Protected Attributes inherited from ibase::TContainer< ItemClass, ContainerType > | |
| Items | m_items |
Static Protected Attributes inherited from ibase::TContainer< ItemClass, ContainerType > | |
| static const ChangeSet | s_resetChange |
Common implementation for an abstract serializable container.
Derived class must only reimplement the SerializeItem().
Definition at line 21 of file TSerializableContainer.h.
| typedef TContainer<ItemClass, ContainerType> ibase::TSerializableContainer< ItemClass, ContainerType >::BaseClass |
Definition at line 24 of file TSerializableContainer.h.
|
overridevirtual |
Load or store state of this object as a archive stream.
Type of operation is depending on archive type.
Implements iser::ISerializable.
Reimplemented in ibase::TFactorisableContainer< InterfaceClass >.
Definition at line 44 of file TSerializableContainer.h.
References iser::IArchive::BeginMultiTag(), iser::IArchive::BeginTag(), iser::IArchive::EndTag(), iser::IArchive::IsStoring(), NULL, iser::CArchiveTag::TT_GROUP, and iser::CArchiveTag::TT_MULTIPLE.
|
protectedpure virtual |
Serialize a single item in the container.
Implemented in ibase::TFactorisableContainer< InterfaceClass >.