From 31b6760e64498727765b210c4285d127980aa75f Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Wed, 13 Jul 2016 13:21:40 +0200 Subject: Add missing logical bitwise operators to the little-endian storage classes These make the (future) usage in declarative even more convenient. Change-Id: I12c0fec1ea843d8acd2ee3fdf2a2189939bebd95 Reviewed-by: Lars Knoll --- src/corelib/json/qjson_p.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/corelib') diff --git a/src/corelib/json/qjson_p.h b/src/corelib/json/qjson_p.h index f2fcb767d5..1cffdbc250 100644 --- a/src/corelib/json/qjson_p.h +++ b/src/corelib/json/qjson_p.h @@ -151,6 +151,14 @@ public: 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 @@ -205,6 +213,14 @@ public: *this = (uint(*this) - i); return *this; } + qle_bitfield &operator |=(uint i) { + *this = (uint(*this) | i); + return *this; + } + qle_bitfield &operator &=(uint i) { + *this = (uint(*this) & i); + return *this; + } }; template -- cgit v1.2.3