28#ifndef CXXUTILS_SET_UNALIGNED_H
29#define CXXUTILS_SET_UNALIGNED_H
67 memcpy (p, &tmp,
sizeof(tmp));
87 memcpy (p, &tmp,
sizeof(tmp));
107 memcpy (p, &tmp,
sizeof(tmp));
void set_unaligned< int8_t >(uint8_t *ATH_RESTRICT &p, int8_t val)
void set_unaligned< float >(uint8_t *ATH_RESTRICT &p, float f)
void set_unaligned16(uint8_t *ATH_RESTRICT &p, uint16_t val)
Write a 2-byte little-endian value to a possibly unaligned pointer.
void set_unaligned< int64_t >(uint8_t *ATH_RESTRICT &p, int64_t val)
void set_unaligned< uint64_t >(uint8_t *ATH_RESTRICT &p, uint64_t val)
void set_unaligned32(uint8_t *ATH_RESTRICT &p, uint32_t val)
Write a 4-byte little-endian value to a possibly unaligned pointer.
void set_unaligned< int32_t >(uint8_t *ATH_RESTRICT &p, int32_t val)
void set_unaligned_double(uint8_t *ATH_RESTRICT &p, double val)
Write a little-endian double value to a possibly unaligned pointer.
void set_unaligned< double >(uint8_t *ATH_RESTRICT &p, double f)
void set_unaligned_float(uint8_t *ATH_RESTRICT &p, float val)
Write a little-endian float value to a possibly unaligned pointer.
void set_unaligned< uint32_t >(uint8_t *ATH_RESTRICT &p, uint32_t val)
void set_unaligned64(uint8_t *ATH_RESTRICT &p, uint64_t val)
Write an 8-byte little-endian value to a possibly unaligned pointer.
void set_unaligned(uint8_t *ATH_RESTRICT &p, T val)
Define templated versions of the above functions.
void set_unaligned< uint16_t >(uint8_t *ATH_RESTRICT &p, uint16_t val)
void set_unaligned< int16_t >(uint8_t *ATH_RESTRICT &p, int16_t val)
void set_unaligned< uint8_t >(uint8_t *ATH_RESTRICT &p, uint8_t val)
uint32_t htole32(uint32_t x)
uint16_t htole16(uint16_t x)
uint64_t htole64(uint64_t x)
Macro wrapping the nonstandard restrict keyword.