qSerialize/qDeserialize now with optional version
This commit is contained in:
@@ -360,17 +360,19 @@ BINARY_STREAM_READ (QImage) {
|
|||||||
|
|
||||||
/// pure Qt
|
/// pure Qt
|
||||||
|
|
||||||
template <typename T> QByteArray qSerialize(const T & value) {
|
template <typename T> QByteArray qSerialize(const T & value, int version = -1) {
|
||||||
QByteArray ret;
|
QByteArray ret;
|
||||||
QDataStream s(&ret, QIODevice::ReadWrite);
|
QDataStream s(&ret, QIODevice::ReadWrite);
|
||||||
|
if (version > 0) s.setVersion((QDataStream::Version)version);
|
||||||
s << value;
|
s << value;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T> T qDeserialize(const QByteArray & data) {
|
template <typename T> T qDeserialize(const QByteArray & data, int version = -1) {
|
||||||
T ret;
|
T ret;
|
||||||
if (!data.isEmpty()) {
|
if (!data.isEmpty()) {
|
||||||
QDataStream s(data);
|
QDataStream s(data);
|
||||||
|
if (version > 0) s.setVersion((QDataStream::Version)version);
|
||||||
s >> ret;
|
s >> ret;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
Reference in New Issue
Block a user