16 #define PROD_INLINE inline __attribute__((always_inline)) 26 void hexdump(
const void *data,
int dataLen);
35 std::array<uint8_t, 6>
arr;
37 void set(uint64_t val) {
38 assert((val >> 48) == 0);
39 arr[0] =
static_cast<uint8_t
>(val & 0xff);
40 arr[1] =
static_cast<uint8_t
>((val >> 8) & 0xff);
41 arr[2] =
static_cast<uint8_t
>((val >> 16) & 0xff);
42 arr[3] =
static_cast<uint8_t
>((val >> 24) & 0xff);
43 arr[4] =
static_cast<uint8_t
>((val >> 32) & 0xff);
44 arr[5] =
static_cast<uint8_t
>((val >> 40) & 0xff);
50 val |=
static_cast<uint64_t
>(
arr[0]);
53 val |=
static_cast<uint64_t
>(
arr[1]);
56 val |=
static_cast<uint64_t
>(
arr[2]);
59 val |=
static_cast<uint64_t
>(
arr[3]);
62 val |=
static_cast<uint64_t
>(
arr[4]);
65 val |=
static_cast<uint64_t
>(
arr[5]);
70 operator uint64_t() {
return get(); };
85 std::array<uint8_t, 3>
arr;
87 void set(uint32_t val) {
88 assert((val >> 24) == 0);
89 arr[0] =
static_cast<uint8_t
>(val & 0xff);
90 arr[1] =
static_cast<uint8_t
>((val >> 8) & 0xff);
91 arr[2] =
static_cast<uint8_t
>((val >> 16) & 0xff);
97 val |=
static_cast<uint32_t
>(
arr[0]);
100 val |=
static_cast<uint32_t
>(
arr[1]);
103 val |=
static_cast<uint32_t
>(
arr[2]);
108 operator uint32_t() {
return get(); };
uint64_t operator=(uint64_t val)
This is a 48 bit variable.
std::array< uint8_t, 3 > arr
void hexdump(const void *data, int dataLen)
Dump hex data.
This is a 24 bit variable.
uint32_t operator=(uint32_t val)
std::array< uint8_t, 6 > arr