This is the documentation for Enlighten.

module Endian Conversion

Functions

Name Description
ByteSwap(T)

Generic swap that works for any built-in type <= 8 bytes.

ByteSwap(float)

Generic swap that works for any built-in type <= 8 bytes.

ByteSwap(double)

Generic swap that works for any built-in type <= 8 bytes.

ByteSwap16(u16)

Fundamental byte-swapping macros.

ByteSwap32(u32)

Fundamental byte-swapping macros.

ByteSwap32F(float)

Fundamental byte-swapping macros.

ByteSwap64(u64)

Fundamental byte-swapping macros.

ByteSwapArray16(Geo::u16 *, Geo::u32)

Byte swap an array of 16-bit values.

ByteSwapArray32(Geo::u32 *, Geo::u32)

Byte swap an array of 32-bit values.

ByteSwapArray64(Geo::u64 *, Geo::u32)

Byte swap an array of 64-bit values.

ByteSwapArrayFloat(float *, Geo::u32)

Byte swap an array of 32-bit float values.

IsLittleEndian(void)

Returns true if little endian.

WillConvertToCurrentEndian(EConvertEndianMode)

Will a conversion of mode result in moving to the current platform? If the result is true, the (incoming) data should be swapped before use.

Defines

Name Description
GEO_ARRAY_BSWAP_16 { Geo::ByteSwapArray16(reinterpret_cast<Geo::u16*>(pArray), elementCount); }

Array swapping macros.

GEO_ARRAY_BSWAP_32 { Geo::ByteSwapArray32(reinterpret_cast<Geo::u32*>(pArray), elementCount); }

Array swapping macros.

GEO_ARRAY_BSWAP_32F { Geo::ByteSwapArrayFloat(reinterpret_cast<float*>(pArray), elementCount); }

Array swapping macros.

GEO_ARRAY_BSWAP_64 { Geo::ByteSwapArray64(reinterpret_cast<Geo::u64*>(pArray), elementCount); }

Array swapping macros.

GEO_BSWAP_16 (Geo::ByteSwap16(x))

Fundamental byte-swapping macros.

GEO_BSWAP_32 (Geo::ByteSwap32(x))

Fundamental byte-swapping macros.

GEO_BSWAP_32F (Geo::ByteSwap32F(x))

Fundamental byte-swapping macros.

GEO_BSWAP_64 (Geo::ByteSwap64(x))

Fundamental byte-swapping macros.

Enums

Name Description
EConvertEndianMode

Enumeration used to control behaviour of various endian swapping functions.


T Geo::ByteSwap


public: T ByteSwap
(
    T x
)


Generic swap that works for any built-in type <= 8 bytes.


float Geo::ByteSwap


public: float ByteSwap
(
    float x
)


Generic swap that works for any built-in type <= 8 bytes.


double Geo::ByteSwap


public: double ByteSwap
(
    double x
)


Generic swap that works for any built-in type <= 8 bytes.


u16 Geo::ByteSwap16


public: u16 ByteSwap16
(
    u16 x
)


Fundamental byte-swapping macros.


u32 Geo::ByteSwap32


public: u32 ByteSwap32
(
    u32 x
)


Fundamental byte-swapping macros.


float Geo::ByteSwap32F


public: float ByteSwap32F
(
    float x
)


Fundamental byte-swapping macros.


u64 Geo::ByteSwap64


public: u64 ByteSwap64
(
    u64 x
)


Fundamental byte-swapping macros.


void GEO_CALL Geo::ByteSwapArray16


public: void GEO_CALL ByteSwapArray16
(
    Geo::u16 * pArray,
    Geo::u32 elementCount
)


Byte swap an array of 16-bit values.


void GEO_CALL Geo::ByteSwapArray32


public: void GEO_CALL ByteSwapArray32
(
    Geo::u32 * pArray,
    Geo::u32 elementCount
)


Byte swap an array of 32-bit values.


void GEO_CALL Geo::ByteSwapArray64


public: void GEO_CALL ByteSwapArray64
(
    Geo::u64 * pArray,
    Geo::u32 elementCount
)


Byte swap an array of 64-bit values.


void GEO_CALL Geo::ByteSwapArrayFloat


public: void GEO_CALL ByteSwapArrayFloat
(
    float * pArray,
    Geo::u32 elementCount
)


Byte swap an array of 32-bit float values.


bool Geo::IsLittleEndian


public: bool IsLittleEndian
(
    void
)


Returns true if little endian.


bool Geo::WillConvertToCurrentEndian


public: bool WillConvertToCurrentEndian
(
    EConvertEndianMode mode
)


Will a conversion of mode result in moving to the current platform? If the result is true, the (incoming) data should be swapped before use.

If the result is false, the (outgoing) data should be used before swapped. If the mode is ecemNone, the result is undefined.


EConvertEndianMode


public: enum EConvertEndianMode
{
    ecemNone = 0,
    ecemLittleToBig = 1,
    ecemBigToLittle = 2,
    ecemLittleToNative = ecemNone,
    ecemBigToNative = ecemBigToLittle,
    ecemNativeToLittle = ecemNone,
    ecemNativeToBig = ecemLittleToBig
}


Enumeration used to control behaviour of various endian swapping functions.

Determines the direction of the conversion operation.

enumerators
ecemNone
ecemLittleToBig
ecemBigToLittle
ecemLittleToNative
ecemBigToNative
ecemNativeToLittle
ecemNativeToBig