From e5e1fac136065d7c8afc49ac72cb517f64c87910 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 15 Jun 2017 13:04:36 +0200 Subject: Move endian integers to qendian_p.h The endian integers have more use than just in QJson, and is already used separately by QtDeclarative. This patch moves q_littleendian out of qjson_p.h and matches it with a corresponding q_bigendian, and puts it to use in simplifying endian handling in the ico image handler. Change-Id: I975bb701a089256db8ced3cb53b4bd62cdfb02dd Reviewed-by: Thiago Macieira --- src/corelib/json/qjson_p.h | 38 ++------------------------------------ 1 file changed, 2 insertions(+), 36 deletions(-) (limited to 'src/corelib/json/qjson_p.h') diff --git a/src/corelib/json/qjson_p.h b/src/corelib/json/qjson_p.h index c012ec2662..5d600843aa 100644 --- a/src/corelib/json/qjson_p.h +++ b/src/corelib/json/qjson_p.h @@ -61,6 +61,7 @@ #include #include +#include "private/qendian_p.h" #include "private/qsimd_p.h" #include @@ -131,42 +132,7 @@ class Value; class Entry; template -class q_littleendian -{ -public: - T val; - - q_littleendian &operator =(T i) { val = qToLittleEndian(i); return *this; } - operator T() const { return qFromLittleEndian(val); } - - bool operator ==(T i) { return qFromLittleEndian(val) == i; } - bool operator !=(T i) { return qFromLittleEndian(val) != i; } - bool operator ==(q_littleendian i) { return val == i.val; } - bool operator !=(q_littleendian i) { return val != i.val; } - bool operator <(T i) { return qFromLittleEndian(val) < i; } - bool operator >(T i) { return qFromLittleEndian(val) > i; } - bool operator <=(T i) { return qFromLittleEndian(val) <= i; } - bool operator >=(T i) { return qFromLittleEndian(val) >= i; } - q_littleendian &operator +=(T i) { - val = qToLittleEndian(qFromLittleEndian(val) + i); - return *this; - } - q_littleendian &operator |=(T i) { - val = qToLittleEndian(qFromLittleEndian(val) | i); - return *this; - } - q_littleendian &operator &=(T i) { - val = qToLittleEndian(qFromLittleEndian(val) & i); - return *this; - } -}; -} // namespace QJsonPrivate - -template -class QTypeInfo > - : public QTypeInfoMerger, T> {}; - -namespace QJsonPrivate { +using q_littleendian = QLEInteger; typedef q_littleendian qle_short; typedef q_littleendian qle_ushort; -- cgit v1.2.3