endian.h |
`
[heading `MSGPACK_ENDIAN_*`]
Detection of endian memory ordering. There are four defined macros
in this header that define the various generally possible endian
memory orderings:
`MSGPACK_ENDIAN_BIG_BYTE`, byte-swapped big-endian.
`MSGPACK_ENDIAN_BIG_WORD`, word-swapped big-endian.
`MSGPACK_ENDIAN_LITTLE_BYTE`, byte-swapped little-endian.
`MSGPACK_ENDIAN_LITTLE_WORD`, word-swapped little-endian.
The detection is conservative in that it only identifies endianness
that it knows for certain. In particular bi-endianness is not
indicated as is it not practically possible to determine the
endianness from anything but an operating system provided
header. And the currently known headers do not define that
programatic bi-endianness is available.
This implementation is a compilation of various publicly available
information and acquired knowledge:
# The indispensable documentation of "Pre-defined Compiler Macros"
[@http://sourceforge.net/p/predef/wiki/Endianness Endianness].
# The various endian specifications available in the
[@http://wikipedia.org/ Wikipedia] computer architecture pages.
# Generally available searches for headers that define endianness.
|
7633 |