QBEInteger Class

The QBEInteger class provides platform-independent big-endian integers. More...

Header: #include <QBEInteger>
qmake: QT += core
Since: Qt 5.10

Public Functions

QBEInteger(T value)
T operator T() const
bool operator!=(QBEInteger<T> other) const
QBEInteger<T> &operator%=(T i)
QBEInteger<T> &operator&=(T i)
QBEInteger<T> &operator*=(T i)
QBEInteger<T> &operator++()
QBEInteger<T> &operator++(int)
QBEInteger<T> &operator+=(T i)
QBEInteger<T> &operator--()
QBEInteger<T> &operator--(int)
QBEInteger<T> &operator-=(T i)
QBEInteger<T> &operator/=(T i)
QBEInteger<T> &operator<<=(T i)
QBEInteger<T> &operator=(T i)
bool operator==(QBEInteger<T> other) const
QBEInteger<T> &operator>>=(T i)
QBEInteger<T> &operator^=(T i)
QBEInteger<T> &operator|=(T i)

Static Public Members

QBEInteger<T> max()
QBEInteger<T> min()

Detailed Description

The QBEInteger class provides platform-independent big-endian integers.

The template parameter T must be a C++ integer type:

  • 8-bit: char, signed char, unsigned char, qint8, quint8
  • 16-bit: short, unsigned short, qint16, quint16, char16_t (C++11)
  • 32-bit: int, unsigned int, qint32, quint32, char32_t (C++11)
  • 64-bit: long long, unsigned long long, qint64, quint64
  • platform-specific size: long, unsigned long
  • pointer size: qintptr, quintptr, qptrdiff

Note: Using this class may be slower than using native integers, so only use it when an exact endianness is needed.

Member Function Documentation

QBEInteger::QBEInteger(T value)

Constructs a QBEInteger with the given value.

[static] QBEInteger<T> QBEInteger::max()

Returns the maximum (finite) value representable by the numeric type T.

[static] QBEInteger<T> QBEInteger::min()

Returns the minimum (finite) value representable by the numeric type T.

T QBEInteger::operator T() const

Returns the value of this QBEInteger as a native integer.

bool QBEInteger::operator!=(QBEInteger<T> other) const

Returns true if the value of this QBEInteger is not equal to the value of other.

QBEInteger<T> &QBEInteger::operator%=(T i)

Sets this QBEInteger to the remainder of a division by i and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator&=(T i)

Performs a bitwise AND with i onto this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator*=(T i)

Multiplies i with this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator++()

Performs a prefix ++ (increment) on this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator++(int)

Performs a postfix ++ (increment) on this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator+=(T i)

Adds i to this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator--()

Performs a prefix -- (decrement) on this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator--(int)

Performs a postfix -- (decrement) on this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator-=(T i)

Subtracts i from this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator/=(T i)

Divides this QBEInteger with i and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator<<=(T i)

Performs a right-shift by i on this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator=(T i)

Assigns i to this QBEInteger and returns a reference to this QBEInteger.

bool QBEInteger::operator==(QBEInteger<T> other) const

Returns true if the value of this QBEInteger is equal to the value of other.

QBEInteger<T> &QBEInteger::operator>>=(T i)

Performs a left-shift by i on this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator^=(T i)

Performs a bitwise XOR with i onto this QBEInteger and returns a reference to this object.

QBEInteger<T> &QBEInteger::operator|=(T i)

Performs a bitwise OR with i onto this QBEInteger and returns a reference to this object.

© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.