10#ifndef _ENDIAN_UTILS_HPP
11#define _ENDIAN_UTILS_HPP
21inline uint8_t
get_u8(
const unsigned char * ptr) {
return ptr[0]; }
26inline uint16_t
get_u16(
const unsigned char * ptr)
28 return static_cast<uint16_t
>(ptr[0]) | (
static_cast<uint16_t
>(ptr[1]) << 8);
34inline int16_t
get_s16(
const unsigned char * ptr) {
return static_cast<int16_t
>(
get_u16(ptr)); }
39inline uint32_t
get_u32(
const unsigned char * ptr)
41 return static_cast<uint32_t
>(ptr[0]) | (
static_cast<uint32_t
>(ptr[1]) << 8) |
42 (
static_cast<uint32_t
>(ptr[2]) << 16) | (
static_cast<uint32_t
>(ptr[3]) << 24);
48inline int32_t
get_s32(
const unsigned char * ptr) {
return static_cast<int32_t
>(
get_u32(ptr)); }
Definition: endian_utils.hpp:16
uint16_t get_u16(const unsigned char *ptr)
Extract 16-bit unsigned integer from buffer (Little Endian)
Definition: endian_utils.hpp:26
uint8_t get_u8(const unsigned char *ptr)
Extract 8-bit unsigned integer.
Definition: endian_utils.hpp:21
int16_t get_s16(const unsigned char *ptr)
Extract 16-bit signed integer from buffer (Little Endian)
Definition: endian_utils.hpp:34
int32_t get_s32(const unsigned char *ptr)
Extract 32-bit signed integer from buffer (Little Endian)
Definition: endian_utils.hpp:48
uint32_t get_u32(const unsigned char *ptr)
Extract 32-bit unsigned integer from buffer (Little Endian)
Definition: endian_utils.hpp:39