M5Utility 0.0.2 git rev:5c1a751
Loading...
Searching...
No Matches
m5::types::U16< DELittle > Struct Template Reference

Endian-compliant uint16. More...

#include <types.hpp>

Public Member Functions

template<bool PELittle = m5::endian::little>
void set (const uint16_t v)
 Set value with specified endianness.
 
template<bool PELittle = m5::endian::little>
uint16_t get () const
 Gets value with specified endianness.
 
uint8_t high () const
 Gets the high byte.
 
uint8_t low () const
 Gets the low byte.
 
const uint8_t * data () const
 Gets the const pointer.
 
uint8_t * data ()
 Gets the pointer.
 
size_t size () const
 Gets size in uint8_t units.
 
Constrcutor
constexpr U16 ()
 default constructor
 
template<bool PELittle = m5::endian::little>
 U16 (const uint16_t v)
 from uint16_t
 
constexpr U16 (const uint8_t high, const uint8_t low)
 Stored in order of high and low.
 
constexpr U16 (const U16 &)=default
 default constructor
 
constexpr U16 (U16 &&o) noexcept=default
 default constructor
 
Assignment
U16operator= (const U16 &)=default
 
U16operator= (U16 &&) noexcept=default
 
template<bool PELittle = m5::endian::little>
U16operator= (const uint16_t v)
 
template<typename H , typename L >
U16operator= (const std::pair< H, L > &o)
 
Cast
 operator bool () const
 To boolean.
 
 operator const uint8_t * () const
 To const uint8_t*.
 
 operator uint8_t * () const
 To uint8_t*.
 
 operator uint16_t () const
 To uint16_t on processor endianness.
 

Public Attributes

uint16_t u16 {}
 Raw value.
 
uint8_t u8 [2]
 Raw value according to uint8_t.
 

Related Symbols

(Note that these are not member symbols.)

Compare
bool operator== (const big_uint16_t &a, const big_uint16_t &b)
 
bool operator== (const big_uint16_t &a, const little_uint16_t &b)
 
bool operator== (const little_uint16_t &a, const big_uint16_t &b)
 
bool operator== (const little_uint16_t &a, const little_uint16_t &b)
 
bool operator!= (const big_uint16_t &a, const big_uint16_t &b)
 
bool operator!= (const big_uint16_t &a, const little_uint16_t &b)
 
bool operator!= (const little_uint16_t &a, const big_uint16_t &b)
 
bool operator!= (const little_uint16_t &a, const little_uint16_t &b)
 
bool operator< (const big_uint16_t &a, const big_uint16_t &b)
 
bool operator< (const big_uint16_t &a, const little_uint16_t &b)
 
bool operator< (const little_uint16_t &a, const big_uint16_t &b)
 
bool operator< (const little_uint16_t &a, const little_uint16_t &b)
 
bool operator> (const big_uint16_t &a, const big_uint16_t &b)
 
bool operator> (const big_uint16_t &a, const little_uint16_t &b)
 
bool operator> (const little_uint16_t &a, const big_uint16_t &b)
 
bool operator> (const little_uint16_t &a, const little_uint16_t &b)
 
bool operator<= (const big_uint16_t &a, const big_uint16_t &b)
 
bool operator<= (const big_uint16_t &a, const little_uint16_t &b)
 
bool operator<= (const little_uint16_t &a, const big_uint16_t &b)
 
bool operator<= (const little_uint16_t &a, const little_uint16_t &b)
 
bool operator>= (const big_uint16_t &a, const big_uint16_t &b)
 
bool operator>= (const big_uint16_t &a, const little_uint16_t &b)
 
bool operator>= (const little_uint16_t &a, const big_uint16_t &b)
 
bool operator>= (const little_uint16_t &a, const little_uint16_t &b)
 

Detailed Description

template<bool DELittle>
struct m5::types::U16< DELittle >

Endian-compliant uint16.

Template Parameters
DELittleEndian type specification
true: Little false: Big

Member Function Documentation

◆ get()

template<bool DELittle>
template<bool PELittle = m5::endian::little>
uint16_t m5::types::U16< DELittle >::get ( ) const
inline

Gets value with specified endianness.

Template Parameters
PELittleEndianness (default as processor endianness)

◆ set()

template<bool DELittle>
template<bool PELittle = m5::endian::little>
void m5::types::U16< DELittle >::set ( const uint16_t v)
inline

Set value with specified endianness.

Template Parameters
PELittleEndianness (default as processor endianness)