openMSX
Classes | Typedefs | Functions | Variables
Endian Namespace Reference

Classes

struct  Big
 
struct  Big< uint16_t >
 
struct  Big< uint32_t >
 
struct  Big< uint8_t >
 
struct  ByteSwap
 
struct  ConvBig
 
struct  ConvBig< false >
 
struct  ConvBig< true >
 
struct  ConvLittle
 
struct  ConvLittle< false >
 
struct  ConvLittle< true >
 
class  EndianT
 
struct  Ident
 
struct  Little
 
struct  Little< uint16_t >
 
struct  Little< uint32_t >
 
struct  Little< uint8_t >
 
class  UA_B16
 
class  UA_B32
 
class  UA_L16
 
class  UA_L24
 
class  UA_L32
 

Typedefs

using B16 = EndianT< uint16_t, ConvBig< BIG > >
 
using L16 = EndianT< uint16_t, ConvLittle< BIG > >
 
using B32 = EndianT< uint32_t, ConvBig< BIG > >
 
using L32 = EndianT< uint32_t, ConvLittle< BIG > >
 
using B64 = EndianT< uint64_t, ConvBig< BIG > >
 
using L64 = EndianT< uint64_t, ConvLittle< BIG > >
 

Functions

void writeB16 (void *p, uint16_t x)
 
void writeL16 (void *p, uint16_t x)
 
void writeB32 (void *p, uint32_t x)
 
void writeL32 (void *p, uint32_t x)
 
uint16_t readB16 (const void *p)
 
uint16_t readL16 (const void *p)
 
uint32_t readB32 (const void *p)
 
uint32_t readL32 (const void *p)
 
ALWAYS_INLINE void write_UA_B16 (void *p, uint16_t x)
 
ALWAYS_INLINE void write_UA_L16 (void *p, uint16_t x)
 
ALWAYS_INLINE void write_UA_L24 (void *p, uint32_t x)
 
ALWAYS_INLINE void write_UA_B32 (void *p, uint32_t x)
 
ALWAYS_INLINE void write_UA_L32 (void *p, uint32_t x)
 
ALWAYS_INLINE void write_UA_B64 (void *p, uint64_t x)
 
ALWAYS_INLINE void write_UA_L64 (void *p, uint64_t x)
 
ALWAYS_INLINE uint16_t read_UA_B16 (const void *p)
 
ALWAYS_INLINE uint16_t read_UA_L16 (const void *p)
 
ALWAYS_INLINE uint32_t read_UA_L24 (const void *p)
 
ALWAYS_INLINE uint32_t read_UA_B32 (const void *p)
 
ALWAYS_INLINE uint32_t read_UA_L32 (const void *p)
 
ALWAYS_INLINE uint64_t read_UA_B64 (const void *p)
 
ALWAYS_INLINE uint64_t read_UA_L64 (const void *p)
 

Variables

constexpr bool BIG = std::endian::native == std::endian::big
 
constexpr bool LITTLE = std::endian::native == std::endian::little
 

Typedef Documentation

◆ B16

using Endian::B16 = typedef EndianT<uint16_t, ConvBig <BIG> >

Definition at line 118 of file endian.hh.

◆ B32

using Endian::B32 = typedef EndianT<uint32_t, ConvBig <BIG> >

Definition at line 120 of file endian.hh.

◆ B64

using Endian::B64 = typedef EndianT<uint64_t, ConvBig <BIG> >

Definition at line 122 of file endian.hh.

◆ L16

using Endian::L16 = typedef EndianT<uint16_t, ConvLittle<BIG> >

Definition at line 119 of file endian.hh.

◆ L32

using Endian::L32 = typedef EndianT<uint32_t, ConvLittle<BIG> >

Definition at line 121 of file endian.hh.

◆ L64

using Endian::L64 = typedef EndianT<uint64_t, ConvLittle<BIG> >

Definition at line 123 of file endian.hh.

Function Documentation

◆ read_UA_B16()

ALWAYS_INLINE uint16_t Endian::read_UA_B16 ( const void *  p)

Definition at line 225 of file endian.hh.

Referenced by Endian::UA_B16::operator uint16_t(), and TEST_CASE().

◆ read_UA_B32()

ALWAYS_INLINE uint32_t Endian::read_UA_B32 ( const void *  p)

Definition at line 238 of file endian.hh.

Referenced by Endian::UA_B32::operator uint32_t(), and TEST_CASE().

◆ read_UA_B64()

ALWAYS_INLINE uint64_t Endian::read_UA_B64 ( const void *  p)

Definition at line 246 of file endian.hh.

◆ read_UA_L16()

ALWAYS_INLINE uint16_t Endian::read_UA_L16 ( const void *  p)

◆ read_UA_L24()

ALWAYS_INLINE uint32_t Endian::read_UA_L24 ( const void *  p)

Definition at line 233 of file endian.hh.

Referenced by Endian::UA_L24::operator uint32_t().

◆ read_UA_L32()

ALWAYS_INLINE uint32_t Endian::read_UA_L32 ( const void *  p)

Definition at line 242 of file endian.hh.

Referenced by Endian::UA_L32::operator uint32_t(), and TEST_CASE().

◆ read_UA_L64()

ALWAYS_INLINE uint64_t Endian::read_UA_L64 ( const void *  p)

Definition at line 250 of file endian.hh.

◆ readB16()

uint16_t Endian::readB16 ( const void *  p)
inline

Definition at line 156 of file endian.hh.

◆ readB32()

uint32_t Endian::readB32 ( const void *  p)
inline

Definition at line 164 of file endian.hh.

◆ readL16()

uint16_t Endian::readL16 ( const void *  p)
inline

Definition at line 160 of file endian.hh.

◆ readL32()

uint32_t Endian::readL32 ( const void *  p)
inline

Definition at line 168 of file endian.hh.

◆ write_UA_B16()

ALWAYS_INLINE void Endian::write_UA_B16 ( void *  p,
uint16_t  x 
)

Definition at line 185 of file endian.hh.

Referenced by Endian::UA_B16::operator=(), and TEST_CASE().

◆ write_UA_B32()

ALWAYS_INLINE void Endian::write_UA_B32 ( void *  p,
uint32_t  x 
)

Definition at line 201 of file endian.hh.

Referenced by Endian::UA_B32::operator=(), and TEST_CASE().

◆ write_UA_B64()

ALWAYS_INLINE void Endian::write_UA_B64 ( void *  p,
uint64_t  x 
)

Definition at line 209 of file endian.hh.

◆ write_UA_L16()

ALWAYS_INLINE void Endian::write_UA_L16 ( void *  p,
uint16_t  x 
)

◆ write_UA_L24()

ALWAYS_INLINE void Endian::write_UA_L24 ( void *  p,
uint32_t  x 
)

Definition at line 193 of file endian.hh.

Referenced by Endian::UA_L24::operator=().

◆ write_UA_L32()

ALWAYS_INLINE void Endian::write_UA_L32 ( void *  p,
uint32_t  x 
)

Definition at line 205 of file endian.hh.

Referenced by Endian::UA_L32::operator=(), TEST_CASE(), and openmsx::AviWriter::~AviWriter().

◆ write_UA_L64()

ALWAYS_INLINE void Endian::write_UA_L64 ( void *  p,
uint64_t  x 
)

Definition at line 213 of file endian.hh.

Referenced by openmsx::tiger().

◆ writeB16()

void Endian::writeB16 ( void *  p,
uint16_t  x 
)
inline

Definition at line 139 of file endian.hh.

◆ writeB32()

void Endian::writeB32 ( void *  p,
uint32_t  x 
)
inline

Definition at line 147 of file endian.hh.

◆ writeL16()

void Endian::writeL16 ( void *  p,
uint16_t  x 
)
inline

Definition at line 143 of file endian.hh.

◆ writeL32()

void Endian::writeL32 ( void *  p,
uint32_t  x 
)
inline

Definition at line 151 of file endian.hh.

Variable Documentation

◆ BIG

constexpr bool Endian::BIG = std::endian::native == std::endian::big
inlineconstexpr

◆ LITTLE

constexpr bool Endian::LITTLE = std::endian::native == std::endian::little
inlineconstexpr

Definition at line 16 of file endian.hh.