Contains static methods for converting the byte order between different endiannesses. More...
#include <juce_ByteOrder.h>
Static Public Member Functions | |
constexpr static int | bigEndian24Bit (const void *bytes) noexcept |
Converts 3 big-endian bytes into a signed 24-bit value (which is sign-extended to 32 bits). More... | |
static void | bigEndian24BitToChars (int32 value, void *destBytes) noexcept |
Copies a 24-bit number to 3 big-endian bytes. More... | |
constexpr static uint32 | bigEndianInt (const void *bytes) noexcept |
Turns 4 bytes into a big-endian integer. More... | |
constexpr static uint64 | bigEndianInt64 (const void *bytes) noexcept |
Turns 8 bytes into a big-endian integer. More... | |
constexpr static uint16 | bigEndianShort (const void *bytes) noexcept |
Turns 2 bytes into a big-endian integer. More... | |
constexpr static bool | isBigEndian () noexcept |
Returns true if the current CPU is big-endian. More... | |
constexpr static int | littleEndian24Bit (const void *bytes) noexcept |
Converts 3 little-endian bytes into a signed 24-bit value (which is sign-extended to 32 bits). More... | |
static void | littleEndian24BitToChars (int32 value, void *destBytes) noexcept |
Copies a 24-bit number to 3 little-endian bytes. More... | |
constexpr static uint32 | littleEndianInt (const void *bytes) noexcept |
Turns 4 bytes into a little-endian integer. More... | |
constexpr static uint64 | littleEndianInt64 (const void *bytes) noexcept |
Turns 8 bytes into a little-endian integer. More... | |
constexpr static uint16 | littleEndianShort (const void *bytes) noexcept |
Turns 2 bytes into a little-endian integer. More... | |
constexpr static uint64 | makeInt (uint8 leastSig, uint8 byte1, uint8 byte2, uint8 byte3, uint8 byte4, uint8 byte5, uint8 byte6, uint8 mostSig) noexcept |
Constructs a 64-bit integer from its constituent bytes, in order of significance. More... | |
constexpr static uint32 | makeInt (uint8 leastSig, uint8 byte1, uint8 byte2, uint8 mostSig) noexcept |
Constructs a 32-bit integer from its constituent bytes, in order of significance. More... | |
constexpr static uint16 | makeInt (uint8 leastSig, uint8 mostSig) noexcept |
Constructs a 16-bit integer from its constituent bytes, in order of significance. More... | |
static double | swap (double value) noexcept |
Returns a garbled double which has the reverse byte-order of the original. More... | |
static float | swap (float value) noexcept |
Returns a garbled float which has the reverse byte-order of the original. More... | |
constexpr static int16 | swap (int16 value) noexcept |
Swaps the upper and lower bytes of a 16-bit integer. More... | |
static int32 | swap (int32 value) noexcept |
Reverses the order of the 4 bytes in a 32-bit integer. More... | |
static int64 | swap (int64 value) noexcept |
Reverses the order of the 8 bytes in a 64-bit integer. More... | |
constexpr static uint16 | swap (uint16 value) noexcept |
Swaps the upper and lower bytes of a 16-bit integer. More... | |
static uint32 | swap (uint32 value) noexcept |
Reverses the order of the 4 bytes in a 32-bit integer. More... | |
static uint64 | swap (uint64 value) noexcept |
Reverses the order of the 8 bytes in a 64-bit integer. More... | |
template<typename Type > | |
static Type | swapIfBigEndian (Type value) noexcept |
Swaps the byte order of a signed or unsigned integer if the CPU is big-endian. More... | |
template<typename Type > | |
static Type | swapIfLittleEndian (Type value) noexcept |
Swaps the byte order of a signed or unsigned integer if the CPU is little-endian. More... | |
Private Member Functions | |
ByteOrder ()=delete | |
Contains static methods for converting the byte order between different endiannesses.
@tags{Core}
|
privatedelete |
|
inlinestaticconstexprnoexcept |
Converts 3 big-endian bytes into a signed 24-bit value (which is sign-extended to 32 bits).
|
inlinestaticnoexcept |
Copies a 24-bit number to 3 big-endian bytes.
References juce::gl::value.
|
inlinestaticconstexprnoexcept |
Turns 4 bytes into a big-endian integer.
|
inlinestaticconstexprnoexcept |
Turns 8 bytes into a big-endian integer.
|
inlinestaticconstexprnoexcept |
Turns 2 bytes into a big-endian integer.
|
inlinestaticconstexprnoexcept |
Returns true if the current CPU is big-endian.
|
inlinestaticconstexprnoexcept |
Converts 3 little-endian bytes into a signed 24-bit value (which is sign-extended to 32 bits).
|
inlinestaticnoexcept |
Copies a 24-bit number to 3 little-endian bytes.
References juce::gl::value.
|
inlinestaticconstexprnoexcept |
Turns 4 bytes into a little-endian integer.
|
inlinestaticconstexprnoexcept |
Turns 8 bytes into a little-endian integer.
|
inlinestaticconstexprnoexcept |
Turns 2 bytes into a little-endian integer.
|
inlinestaticconstexprnoexcept |
Constructs a 64-bit integer from its constituent bytes, in order of significance.
|
inlinestaticconstexprnoexcept |
Constructs a 32-bit integer from its constituent bytes, in order of significance.
|
inlinestaticconstexprnoexcept |
Constructs a 16-bit integer from its constituent bytes, in order of significance.
|
inlinestaticnoexcept |
Returns a garbled double which has the reverse byte-order of the original.
References juce::gl::n, and juce::gl::v.
Returns a garbled float which has the reverse byte-order of the original.
References juce::gl::n, and juce::gl::v.
Swaps the upper and lower bytes of a 16-bit integer.
References juce::gl::v.
Reverses the order of the 4 bytes in a 32-bit integer.
References juce::gl::v.
Reverses the order of the 8 bytes in a 64-bit integer.
References juce::gl::v.
Swaps the upper and lower bytes of a 16-bit integer.
References juce::gl::v.
Reverses the order of the 4 bytes in a 32-bit integer.
References juce::gl::n.
Reverses the order of the 8 bytes in a 64-bit integer.
References juce::gl::value.
|
inlinestaticnoexcept |
Swaps the byte order of a signed or unsigned integer if the CPU is big-endian.
References juce::gl::value.
|
inlinestaticnoexcept |
Swaps the byte order of a signed or unsigned integer if the CPU is little-endian.
References juce::gl::value.