diff options
Diffstat (limited to 'src/corelib/global/qendian.qdoc')
-rw-r--r-- | src/corelib/global/qendian.qdoc | 389 |
1 files changed, 379 insertions, 10 deletions
diff --git a/src/corelib/global/qendian.qdoc b/src/corelib/global/qendian.qdoc index 9ce9dbdb0e..65df25a205 100644 --- a/src/corelib/global/qendian.qdoc +++ b/src/corelib/global/qendian.qdoc @@ -34,8 +34,8 @@ */ /*! + \fn template <typename T> T qFromUnaligned(const void *ptr) \internal - \fn T qFromUnaligned(const void *ptr) \since 5.5 Loads a \c{T} from address \a ptr, which may be misaligned. @@ -45,8 +45,8 @@ */ /*! + \fn template <typename T> void qToUnaligned(const T t, void *ptr) \internal - \fn void qToUnaligned(T t, void *ptr) \since 4.5 Stores \a t to address \a ptr, which may be misaligned. @@ -57,7 +57,7 @@ /*! - \fn T qFromBigEndian(const void *src) + \fn template <typename T> T qFromBigEndian(const void *src) \since 4.3 \relates <QtEndian> @@ -78,7 +78,7 @@ \sa qToLittleEndian() */ /*! - \fn T qFromBigEndian(T src) + \fn template <typename T> T qFromBigEndian(T src) \since 4.3 \relates <QtEndian> \overload @@ -90,7 +90,7 @@ unmodified. */ /*! - \fn T qFromLittleEndian(const void *src) + \fn template <typename T> T qFromLittleEndian(const void *src) \since 4.3 \relates <QtEndian> @@ -111,7 +111,7 @@ \sa qToLittleEndian() */ /*! - \fn T qFromLittleEndian(T src) + \fn template <typename T> T qFromLittleEndian(T src) \since 4.3 \relates <QtEndian> \overload @@ -123,7 +123,7 @@ unmodified. */ /*! - \fn void qToBigEndian(T src, void *dest) + \fn template <typename T> void qToBigEndian(T src, void *dest) \since 4.3 \relates <QtEndian> @@ -141,7 +141,7 @@ \sa qToLittleEndian() */ /*! - \fn T qToBigEndian(T src) + \fn template <typename T> T qToBigEndian(T src) \since 4.3 \relates <QtEndian> \overload @@ -153,7 +153,7 @@ unmodified. */ /*! - \fn void qToLittleEndian(T src, void *dest) + \fn template <typename T> void qToLittleEndian(T src, void *dest) \since 4.3 \relates <QtEndian> @@ -171,7 +171,7 @@ \sa qToBigEndian() */ /*! - \fn T qToLittleEndian(T src) + \fn template <typename T> T qToLittleEndian(T src) \since 4.3 \relates <QtEndian> \overload @@ -183,3 +183,372 @@ unmodified. */ +/*! + \class QLEInteger + \inmodule QtCore + \brief The QLEInteger class provides platform-independent little-endian integers. + \since 5.10 + + The template parameter \c T must be a C++ integer type: + \list + \li 8-bit: char, signed char, unsigned char, qint8, quint8 + \li 16-bit: short, unsigned short, qint16, quint16, char16_t + \li 32-bit: int, unsigned int, qint32, quint32, char32_t + \li 64-bit: long long, unsigned long long, qint64, quint64 + \li platform-specific size: long, unsigned long + \li pointer size: qintptr, quintptr, qptrdiff + \endlist + + \note Using this class may be slower than using native integers, so only use it when + an exact endian is needed. +*/ + +/*! \fn template <typename T> QLEInteger<T>::QLEInteger(T value) + + Constructs a QLEInteger with the given \a value. +*/ + +/*! \fn template <typename T> QLEInteger &QLEInteger<T>::operator=(T i) + + Assigns \a i to this QLEInteger and returns a reference to + this QLEInteger. +*/ + +/*! + \fn template <typename T> QLEInteger<T>::operator T() const + + Returns the value of this QLEInteger as a native integer. +*/ + +/*! + \fn template <typename T> bool QLEInteger<T>::operator==(QLEInteger other) const + + Returns \c true if the value of this QLEInteger is equal to the value of \a other. +*/ + +/*! + \fn template <typename T> bool QLEInteger<T>::operator!=(QLEInteger other) const + + Returns \c true if the value of this QLEInteger is not equal to the value of \a other. +*/ + +/*! + \fn template <typename T> QLEInteger &QLEInteger<T>::operator+=(T i) + + Adds \a i to this QLEInteger and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QLEInteger &QLEInteger<T>::operator-=(T i) + + Subtracts \a i from this QLEInteger and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QLEInteger &QLEInteger<T>::operator*=(T i) + + Multiplies \a i with this QLEInteger and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QLEInteger &QLEInteger<T>::operator/=(T i) + + Divides this QLEInteger with \a i and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QLEInteger &QLEInteger<T>::operator%=(T i) + + Sets this QLEInteger to the remainder of a division by \a i and + returns a reference to this object. +*/ + +/*! + \fn template <typename T> QLEInteger &QLEInteger<T>::operator>>=(T i) + + Performs a left-shift by \a i on this QLEInteger and returns a + reference to this object. +*/ + +/*! + \fn template <typename T> QLEInteger &QLEInteger<T>::operator<<=(T i) + + Performs a right-shift by \a i on this QLEInteger and returns a + reference to this object. +*/ + +/*! + \fn template <typename T> QLEInteger &QLEInteger<T>::operator|=(T i) + + Performs a bitwise OR with \a i onto this QLEInteger and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QLEInteger &QLEInteger<T>::operator&=(T i) + + Performs a bitwise AND with \a i onto this QLEInteger and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QLEInteger &QLEInteger<T>::operator^=(T i) + + Performs a bitwise XOR with \a i onto this QLEInteger and returns a reference to + this object. +*/ + +/*! + \class QBEInteger + \inmodule QtCore + \brief The QBEInteger class provides platform-independent big-endian integers. + \since 5.10 + + The template parameter \c T must be a C++ integer type: + \list + \li 8-bit: char, signed char, unsigned char, qint8, quint8 + \li 16-bit: short, unsigned short, qint16, quint16, char16_t (C++11) + \li 32-bit: int, unsigned int, qint32, quint32, char32_t (C++11) + \li 64-bit: long long, unsigned long long, qint64, quint64 + \li platform-specific size: long, unsigned long + \li pointer size: qintptr, quintptr, qptrdiff + \endlist + + \note Using this class may be slower than using native integers, so only use it when + an exact endian is needed. +*/ + +/*! \fn template <typename T> QBEInteger<T>::QBEInteger(T value) + + Constructs a QBEInteger with the given \a value. +*/ + +/*! \fn template <typename T> QBEInteger &QBEInteger<T>::operator=(T i) + + Assigns \a i to this QBEInteger and returns a reference to + this QBEInteger. +*/ + +/*! + \fn template <typename T> QBEInteger<T>::operator T() const + + Returns the value of this QBEInteger as a native integer. +*/ + +/*! + \fn template <typename T> bool QBEInteger<T>::operator==(QBEInteger other) const + + Returns \c true if the value of this QBEInteger is equal to the value of \a other. +*/ + +/*! + \fn template <typename T> bool QBEInteger<T>::operator!=(QBEInteger other) const + + Returns \c true if the value of this QBEInteger is not equal to the value of \a other. +*/ + +/*! + \fn template <typename T> QBEInteger &QBEInteger<T>::operator+=(T i) + + Adds \a i to this QBEInteger and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QBEInteger &QBEInteger<T>::operator-=(T i) + + Subtracts \a i from this QBEInteger and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QBEInteger &QBEInteger<T>::operator*=(T i) + + Multiplies \a i with this QBEInteger and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QBEInteger &QBEInteger<T>::operator/=(T i) + + Divides this QBEInteger with \a i and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QBEInteger &QBEInteger<T>::operator%=(T i) + + Sets this QBEInteger to the remainder of a division by \a i and + returns a reference to this object. +*/ + +/*! + \fn template <typename T> QBEInteger &QBEInteger<T>::operator>>=(T i) + + Performs a left-shift by \a i on this QBEInteger and returns a + reference to this object. +*/ + +/*! + \fn template <typename T> QBEInteger &QBEInteger<T>::operator<<=(T i) + + Performs a right-shift by \a i on this QBEInteger and returns a + reference to this object. +*/ + +/*! + \fn template <typename T> QBEInteger &QBEInteger<T>::operator|=(T i) + + Performs a bitwise OR with \a i onto this QBEInteger and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QBEInteger &QBEInteger<T>::operator&=(T i) + + Performs a bitwise AND with \a i onto this QBEInteger and returns a reference to + this object. +*/ + +/*! + \fn template <typename T> QBEInteger &QBEInteger<T>::operator^=(T i) + + Performs a bitwise XOR with \a i onto this QBEInteger and returns a reference to + this object. +*/ + +/*! + \typedef quint16_le + \relates <QtEndian> + \since 5.10 + + Typedef for QLEInteger<quint16>. This type is guaranteed to be stored in memory as + a 16-bit little-endian unsigned integer on all platforms supported by Qt. + + \sa quint16 +*/ + +/*! + \typedef quint32_le + \relates <QtEndian> + \since 5.10 + + Typedef for QLEInteger<quint32>. This type is guaranteed to be stored in memory as + a 32-bit little-endian unsigned integer on all platforms supported by Qt. + + \sa quint32 +*/ + +/*! + \typedef quint64_le + \relates <QtEndian> + \since 5.10 + + Typedef for QLEInteger<quint64>. This type is guaranteed to be stored in memory as + a 64-bit little-endian unsigned integer on all platforms supported by Qt. + + \sa quint64 +*/ + +/*! + \typedef quint16_be + \relates <QtEndian> + \since 5.10 + + Typedef for QBEInteger<quint16>. This type is guaranteed to be stored in memory as + a 16-bit big-endian unsigned integer on all platforms supported by Qt. + + \sa quint16 +*/ + +/*! + \typedef quint32_be + \relates <QtEndian> + \since 5.10 + + Typedef for QBEInteger<quint32>. This type is guaranteed to be stored in memory as + a 32-bit big-endian unsigned integer on all platforms supported by Qt. + + \sa quint32 +*/ + +/*! + \typedef quint64_be + \relates <QtEndian> + \since 5.10 + + Typedef for QBEInteger<quint64>. This type is guaranteed to be stored in memory as + a 64-bit big-endian unsigned integer on all platforms supported by Qt. + + \sa quint64 +*/ + +/*! + \typedef qint16_le + \relates <QtEndian> + \since 5.10 + + Typedef for QLEInteger<qint16>. This type is guaranteed to be stored in memory as + a 16-bit little-endian signed integer on all platforms supported by Qt. + + \sa qint16 +*/ + +/*! + \typedef qint32_le + \relates <QtEndian> + \since 5.10 + + Typedef for QLEInteger<qint32>. This type is guaranteed to be stored in memory as + a 32-bit little-endian signed integer on all platforms supported by Qt. + + \sa qint32 +*/ + +/*! + \typedef qint64_le + \relates <QtEndian> + \since 5.10 + + Typedef for QLEInteger<qint64>. This type is guaranteed to be stored in memory as + a 64-bit little-endian signed integer on all platforms supported by Qt. + + \sa qint64 +*/ + +/*! + \typedef qint16_be + \relates <QtEndian> + \since 5.10 + + Typedef for QBEInteger<qint16>. This type is guaranteed to be stored in memory as + a 16-bit big-endian signed integer on all platforms supported by Qt. + + \sa qint16 +*/ + +/*! + \typedef qint32_be + \relates <QtEndian> + \since 5.10 + + Typedef for QBEInteger<qint32>. This type is guaranteed to be stored in memory as + a 32-bit big-endian signed integer on all platforms supported by Qt. + + \sa qint32 +*/ + +/*! + \typedef qint64_be + \relates <QtEndian> + \since 5.10 + + Typedef for QBEInteger<qint64>. This type is guaranteed to be stored in memory as + a 64-bit big-endian signed integer on all platforms supported by Qt. + + \sa qint64 +*/ |