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 117 of file endian.hh.

◆ B32

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

Definition at line 119 of file endian.hh.

◆ B64

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

Definition at line 121 of file endian.hh.

◆ L16

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

Definition at line 118 of file endian.hh.

◆ L32

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

Definition at line 120 of file endian.hh.

◆ L64

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

Definition at line 122 of file endian.hh.

Function Documentation

◆ read_UA_B16()

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

Definition at line 224 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 237 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 245 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 232 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 241 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 249 of file endian.hh.

◆ readB16()

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

Definition at line 155 of file endian.hh.

◆ readB32()

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

Definition at line 163 of file endian.hh.

◆ readL16()

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

Definition at line 159 of file endian.hh.

◆ readL32()

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

Definition at line 167 of file endian.hh.

◆ write_UA_B16()

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

Definition at line 184 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 200 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 208 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 192 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 204 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 212 of file endian.hh.

Referenced by openmsx::tiger().

◆ writeB16()

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

Definition at line 138 of file endian.hh.

◆ writeB32()

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

Definition at line 146 of file endian.hh.

◆ writeL16()

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

Definition at line 142 of file endian.hh.

◆ writeL32()

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

Definition at line 150 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 15 of file endian.hh.