virtual void beginReadMap() = 0;
virtual bool hasMoreMapElements() = 0;
virtual void endReadMap() = 0;
+ virtual void beginReadMapElement() = 0;
+ virtual void endReadMapElement() = 0;
};
template <typename _EnumBackingType, typename _EnumType>
_KeyType elementKey;
_ValueType elementValue;
+ inputStream.beginReadMapElement();
inputStream >> elementKey >> elementValue;
+ inputStream.endReadMapElement();
if (inputStream.hasError())
break;
#include "SerializableStruct.h"
#include "SerializableVariant.h"
#include "types.h"
+#include <unistd.h>
+#include <iostream>
#include <cstdint>
#include <functional>
virtual void beginWriteMap(size_t elementCount) = 0;
virtual void endWriteMap() = 0;
+ virtual void beginWriteMapElement() = 0;
+ virtual void endWriteMapElement() = 0;
};
typedef typename std::unordered_map<_KeyType, _ValueType>::const_iterator MapConstIterator;
const size_t elementCount = mapValue.size();
-
outputStream.beginWriteMap(elementCount);
for (MapConstIterator iter = mapValue.cbegin(); iter != mapValue.cend(); iter++) {
+ outputStream.beginWriteMapElement();
outputStream << iter->first << iter->second;
-
if (outputStream.hasError())
return outputStream;
+ outputStream.endWriteMapElement();
}
outputStream.endWriteMap();