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