f9f395c28b
Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
155 lines
4.8 KiB
Plaintext
155 lines
4.8 KiB
Plaintext
/****************************************************************************
|
|
**
|
|
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
|
** All rights reserved.
|
|
** Contact: Nokia Corporation (qt-info@nokia.com)
|
|
**
|
|
** This file is part of the documentation of the Qt Toolkit.
|
|
**
|
|
** $QT_BEGIN_LICENSE:FDL$
|
|
** GNU Free Documentation License
|
|
** Alternatively, this file may be used under the terms of the GNU Free
|
|
** Documentation License version 1.3 as published by the Free Software
|
|
** Foundation and appearing in the file included in the packaging of
|
|
** this file.
|
|
**
|
|
** Other Usage
|
|
** Alternatively, this file may be used in accordance with the terms
|
|
** and conditions contained in a signed written agreement between you
|
|
** and Nokia.
|
|
**
|
|
**
|
|
**
|
|
**
|
|
** $QT_END_LICENSE$
|
|
**
|
|
****************************************************************************/
|
|
|
|
/*!
|
|
\headerfile <QtEndian>
|
|
\title Endian Conversion Functions
|
|
\ingroup funclists
|
|
\brief The <QtEndian> header provides functions to convert between
|
|
little and big endian representations of numbers.
|
|
*/
|
|
|
|
/*!
|
|
\fn T qFromBigEndian(const uchar *src)
|
|
\since 4.3
|
|
\relates <QtEndian>
|
|
|
|
Reads a big-endian number from memory location \a src and returns the number in the
|
|
host byte order representation.
|
|
On CPU architectures where the host byte order is little-endian (such as x86) this
|
|
will swap the byte order; otherwise it will just read from \a src.
|
|
|
|
\note Template type \c{T} can either be a qint16, qint32 or qint64. Other types of
|
|
integers, e.g., qlong, are not applicable.
|
|
|
|
There are no data alignment constraints for \a src.
|
|
|
|
\sa qFromLittleEndian()
|
|
\sa qToBigEndian()
|
|
\sa qToLittleEndian()
|
|
*/
|
|
/*!
|
|
\fn T qFromBigEndian(T src)
|
|
\since 4.3
|
|
\relates <QtEndian>
|
|
\overload
|
|
|
|
Converts \a src from big-endian byte order and returns the number in host byte order
|
|
representation of that number.
|
|
On CPU architectures where the host byte order is little-endian (such as x86) this
|
|
will return \a src with the byte order swapped; otherwise it will return \a src
|
|
unmodified.
|
|
*/
|
|
/*!
|
|
\fn T qFromLittleEndian(const uchar *src)
|
|
\since 4.3
|
|
\relates <QtEndian>
|
|
|
|
Reads a little-endian number from memory location \a src and returns the number in
|
|
the host byte order representation.
|
|
On CPU architectures where the host byte order is big-endian (such as PowerPC) this
|
|
will swap the byte order; otherwise it will just read from \a src.
|
|
|
|
\note Template type \c{T} can either be a qint16, qint32 or qint64. Other types of
|
|
integers, e.g., qlong, are not applicable.
|
|
|
|
There are no data alignment constraints for \a src.
|
|
|
|
\sa qFromBigEndian()
|
|
\sa qToBigEndian()
|
|
\sa qToLittleEndian()
|
|
*/
|
|
/*!
|
|
\fn T qFromLittleEndian(T src)
|
|
\since 4.3
|
|
\relates <QtEndian>
|
|
\overload
|
|
|
|
Converts \a src from little-endian byte order and returns the number in host byte
|
|
order representation of that number.
|
|
On CPU architectures where the host byte order is big-endian (such as PowerPC) this
|
|
will return \a src with the byte order swapped; otherwise it will return \a src
|
|
unmodified.
|
|
*/
|
|
/*!
|
|
\fn void qToBigEndian(T src, uchar *dest)
|
|
\since 4.3
|
|
\relates <QtEndian>
|
|
|
|
Writes the number \a src with template type \c{T} to the memory location at \a dest
|
|
in big-endian byte order.
|
|
|
|
Note that template type \c{T} can only be an integer data type (signed or unsigned).
|
|
|
|
There are no data alignment constraints for \a dest.
|
|
|
|
\sa qFromBigEndian()
|
|
\sa qFromLittleEndian()
|
|
\sa qToLittleEndian()
|
|
*/
|
|
/*!
|
|
\fn T qToBigEndian(T src)
|
|
\since 4.3
|
|
\relates <QtEndian>
|
|
\overload
|
|
|
|
Converts \a src from host byte order and returns the number in big-endian byte order
|
|
representation of that number.
|
|
On CPU architectures where the host byte order is little-endian (such as x86) this
|
|
will return \a src with the byte order swapped; otherwise it will return \a src
|
|
unmodified.
|
|
*/
|
|
/*!
|
|
\fn void qToLittleEndian(T src, uchar *dest)
|
|
\since 4.3
|
|
\relates <QtEndian>
|
|
|
|
Writes the number \a src with template type \c{T} to the memory location at \a dest
|
|
in little-endian byte order.
|
|
|
|
Note that template type \c{T} can only be an integer data type (signed or unsigned).
|
|
|
|
There are no data alignment constraints for \a dest.
|
|
|
|
\sa qFromBigEndian()
|
|
\sa qFromLittleEndian()
|
|
\sa qToBigEndian()
|
|
*/
|
|
/*!
|
|
\fn T qToLittleEndian(T src)
|
|
\since 4.3
|
|
\relates <QtEndian>
|
|
\overload
|
|
|
|
Converts \a src from host byte order and returns the number in little-endian byte
|
|
order representation of that number.
|
|
On CPU architectures where the host byte order is big-endian (such as PowerPC) this
|
|
will return \a src with the byte order swapped; otherwise it will return \a src
|
|
unmodified.
|
|
*/
|
|
|