summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization/qdatastream.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-07-06 19:58:51 +0200
committerLars Knoll <lars.knoll@qt.io>2020-08-15 14:43:56 +0200
commit5e3b7effbd7f70682d5a15ccd277e7f49c1e259e (patch)
tree715b54140b29a114191182960bff6ef54b876aa1 /src/corelib/serialization/qdatastream.h
parent4376c4d9d85ebaf0d30a71bd524344a1fc50ef5d (diff)
Add overload for char to QDataStream
This is a distinct types in C++, and should be supported out of the box in QDataStream. This is also required so we do find a data stream operator for the types when searching for it using template magic. Change-Id: Iea57780621e2aab7ed253f1cc896bebada43b9f0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/serialization/qdatastream.h')
-rw-r--r--src/corelib/serialization/qdatastream.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/corelib/serialization/qdatastream.h b/src/corelib/serialization/qdatastream.h
index 3a234ab15e..095a6681c2 100644
--- a/src/corelib/serialization/qdatastream.h
+++ b/src/corelib/serialization/qdatastream.h
@@ -148,6 +148,7 @@ public:
int version() const;
void setVersion(int);
+ QDataStream &operator>>(char &i);
QDataStream &operator>>(qint8 &i);
QDataStream &operator>>(quint8 &i);
QDataStream &operator>>(qint16 &i);
@@ -166,6 +167,7 @@ public:
QDataStream &operator>>(char16_t &c);
QDataStream &operator>>(char32_t &c);
+ QDataStream &operator<<(char i);
QDataStream &operator<<(qint8 i);
QDataStream &operator<<(quint8 i);
QDataStream &operator<<(qint16 i);
@@ -370,6 +372,9 @@ inline int QDataStream::version() const
inline void QDataStream::setVersion(int v)
{ ver = v; }
+inline QDataStream &QDataStream::operator>>(char &i)
+{ return *this >> reinterpret_cast<qint8&>(i); }
+
inline QDataStream &QDataStream::operator>>(quint8 &i)
{ return *this >> reinterpret_cast<qint8&>(i); }
@@ -382,6 +387,9 @@ inline QDataStream &QDataStream::operator>>(quint32 &i)
inline QDataStream &QDataStream::operator>>(quint64 &i)
{ return *this >> reinterpret_cast<qint64&>(i); }
+inline QDataStream &QDataStream::operator<<(char i)
+{ return *this << qint8(i); }
+
inline QDataStream &QDataStream::operator<<(quint8 i)
{ return *this << qint8(i); }