Ref T552 Using QDataStream marshalling mixins in value classes.

This commit is contained in:
Mat Sutcliffe
2019-02-27 22:34:02 +00:00
parent fabf6e59ab
commit 6d9f9a286d
23 changed files with 252 additions and 0 deletions

View File

@@ -12,6 +12,7 @@
#define BLACKMISC_COLLECTION_H
#include "containerbase.h"
#include "datastream.h"
#include "icon.h"
#include <QMap>
#include <algorithm>
@@ -54,6 +55,7 @@ namespace BlackMisc
template <class T>
class CCollection :
public CContainerBase<CCollection<T>>,
public Mixin::DataStreamOperators<CCollection<T>>,
public Mixin::Icon<CCollection<T>>
{
public:
@@ -270,6 +272,12 @@ namespace BlackMisc
//! Test for inequality.
friend bool operator !=(const CCollection &a, const CCollection &b) { return a.m_impl != b.m_impl; }
//! \copydoc BlackMisc::Mixin::DataStreamByMetaClass::marshalToDataStream
void marshalToDataStream(QDataStream &stream) const { stream << m_impl; }
//! \copydoc BlackMisc::Mixin::DataStreamByMetaClass::unmarshalFromDataStream
void unmarshalFromDataStream(QDataStream &stream) { stream >> m_impl; }
private:
QOrderedSet<T> m_impl;
};