Heavy work on improving category documentation.

Still more to go!

Reference Issue #9440.
This commit is contained in:
Ryan C. Gordon
2024-12-16 01:10:37 -05:00
parent 9aca97f4e7
commit 79316ca36e
30 changed files with 209 additions and 43 deletions

View File

@@ -22,7 +22,19 @@
/**
* # CategoryEndian
*
* Functions for reading and writing endian-specific values.
* Functions converting endian-specific values to different byte orders.
*
* These functions either unconditionally swap byte order (SDL_Swap16,
* SDL_Swap32, SDL_Swap64, SDL_SwapFloat), or they swap to/from the system's
* native byte order (SDL_Swap16LE, SDL_Swap16BE, SDL_Swap32LE, SDL_Swap32BE,
* SDL_Swap32LE, SDL_Swap32BE, SDL_SwapFloatLE, SDL_SwapFloatBE). In the
* latter case, the functionality is provided by macros that become no-ops
* if a swap isn't necessary: on an x86 (littleendian) processor, SDL_Swap32LE
* does nothing, but SDL_Swap32BE reverses the bytes of the data. On a PowerPC
* processor (bigendian), the macros behavior is reversed.
*
* The swap routines are inline functions, and attempt to use compiler
* intrinsics, inline assembly, and other magic to make byteswapping efficient.
*/
#ifndef SDL_endian_h_
@@ -125,10 +137,6 @@ _m_prefetch(void *__P)
extern "C" {
#endif
/**
* \file SDL_endian.h
*/
/* various modern compilers may have builtin swap */
#if defined(__GNUC__) || defined(__clang__)
# define HAS_BUILTIN_BSWAP16 (SDL_HAS_BUILTIN(__builtin_bswap16)) || \