нл:: Переплетение:: Кодирование

Это пространство имен предоставляет функции для:

Краткое содержание

  • Выполнение переупорядочения байтов по значению для 16-, 32- и 64-битных типов.
  • Безопасное выполнение простого и эффективного доступа к отображению в памяти, потенциально к невыровненным областям памяти, с переупорядочением байтов или без него, к 8-, 16-, 32- и 64-битным количествам, как с управлением указателями, так и без него.

Функции

Get8 (const uint8_t *p)
uint8_t
Выполните потенциально невыровненное чтение памяти 8-битного значения из указанного адреса указателя.
Put8 (uint8_t *p, uint8_t v)
void
Выполните потенциально невыровненную запись в память целевого системного байтового упорядоченного 8-битного значения по указанному адресу указателя.
Read8 (uint8_t *& p)
uint8_t
Выполните потенциально невыровненное чтение из памяти 16-битного значения по указанному адресу указателя и увеличьте указатель на 8 бит (1 байт).
Read8 (const uint8_t *& p)
uint8_t
Выполните потенциально невыровненное чтение из памяти 16-битного значения по указанному адресу указателя и увеличьте указатель на 8 бит (1 байт).
Swap16 (uint16_t v)
uint16_t
Это безоговорочно выполняет замену порядка байтов на значение указанного 16-битного значения.
Swap32 (uint32_t v)
uint32_t
При этом безоговорочно выполняется замена порядка байтов на значение указанного 32-битного значения.
Swap64 (uint64_t v)
uint64_t
Это безоговорочно выполняет замену порядка байтов на значение указанного 64-битного значения.
Write8 (uint8_t *& p, uint8_t v)
void
Выполните потенциально невыровненную запись в память 8-битного значения по указанному адресу указателя и увеличьте указатель на 8 бит (1 байт).

Пространства имен

nl:: Weave:: Кодировка:: BigEndian

Это пространство имен предоставляет функции для:

nl:: Weave:: Кодировка:: LittleEndian

Это пространство имен предоставляет функции для:

Функции

Получить8

uint8_t Get8(
  const uint8_t *p
)

Выполните потенциально невыровненное чтение памяти 8-битного значения из указанного адреса указателя.

Подробности
Параметры
[in] p
Адрес указателя, потенциально невыровненный, для чтения 8-битного значения.
Возврат
8-битное значение по указанному адресу указателя.

Put8

void Put8(
  uint8_t *p,
  uint8_t v
)

Выполните потенциально невыровненную запись в память целевого системного байтового упорядоченного 8-битного значения по указанному адресу указателя.

Подробности
Параметры
[in] p
Адрес указателя, потенциально невыровненный, для записи 8-битного значения.
[in] v
8-битное значение для записи.

Читать8

uint8_t Read8(
  uint8_t *& p
)

Выполните потенциально невыровненное чтение из памяти 16-битного значения по указанному адресу указателя и увеличьте указатель на 8 бит (1 байт).

Подробности
Параметры
[in,out] p
Ссылка на адрес указателя, потенциально невыровненный, для чтения 8-битного значения и последующего увеличения на 8 бит (1 байт).
Возврат
8-битное значение по указанному адресу указателя.

Читать8

uint8_t Read8(
  const uint8_t *& p
)

Выполните потенциально невыровненное чтение из памяти 16-битного значения по указанному адресу указателя и увеличьте указатель на 8 бит (1 байт).

Подробности
Параметры
[in,out] p
Ссылка на постоянный адрес указателя, потенциально невыровненный, для чтения 8-битного значения и последующего увеличения на 8 бит (1 байт).
Возврат
8-битное значение по указанному адресу указателя.

Обмен16

uint16_t Swap16(
  uint16_t v
)

При этом безоговорочно выполняется замена порядка байтов на значение указанного 16-битного значения.

Подробности
Параметры
[in] v
16-битное значение, порядок байтов которого будет изменен.
Возврат
Входное значение, порядок байтов изменен.

Обмен32

uint32_t Swap32(
  uint32_t v
)

Это безоговорочно выполняет замену порядка байтов на значение указанного 32-битного значения.

Подробности
Параметры
[in] v
32-битное значение, порядок байтов которого будет изменен.
Возврат
Входное значение, порядок байтов изменен.

Обмен64

uint64_t Swap64(
  uint64_t v
)

При этом безоговорочно выполняется замена порядка байтов на значение указанного 64-битного значения.

Подробности
Параметры
[in] v
64-битное значение, порядок байтов которого будет изменен.
Возврат
Входное значение, порядок байтов изменен.

Написать8

void Write8(
  uint8_t *& p,
  uint8_t v
)

Выполните потенциально невыровненную запись в память 8-битного значения по указанному адресу указателя и увеличьте указатель на 8 бит (1 байт).

Подробности
Параметры
[in,out] p
Ссылка на адрес указателя, потенциально невыровненный, для чтения 8-битного значения и последующего увеличения на 8 бит (1 байт).
[in] v
8-битное значение для записи.