nl::Weave::Encoding

Este espacio de nombres proporciona funciones para lo siguiente:

Resumen

  • Realizar el reordenamiento de bytes por valor para tipos de 16, 32 y 64 bits.
  • Realizar de forma segura accesos simples y eficientes con asignación de memoria, potencialmente a ubicaciones de memoria no alineadas, con o sin reordenamiento de bytes, a cantidades de 8, 16, 32 y 64 bits, con y sin administración de punteros.

Funciones

Get8(const uint8_t *p)
uint8_t
Realiza una lectura de memoria, posiblemente no alineada, del valor de 8 bits desde la dirección del puntero especificada.
Put8(uint8_t *p, uint8_t v)
void
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 8 bits ordenado en bytes del sistema de destino a la dirección del puntero especificada.
Read8(uint8_t *& p)
uint8_t
Realiza una lectura de memoria, posiblemente no alineada, del valor de 16 bits desde la dirección del puntero especificada y aumenta el puntero en 8 bits (1 byte).
Read8(const uint8_t *& p)
uint8_t
Realiza una lectura de memoria, posiblemente no alineada, del valor de 16 bits desde la dirección del puntero especificada y aumenta el puntero en 8 bits (1 byte).
Swap16(uint16_t v)
uint16_t
Esto realiza incondicionalmente un intercambio de orden de bytes por valor del valor de 16 bits especificado.
Swap32(uint32_t v)
uint32_t
Esto realiza incondicionalmente un intercambio de orden de bytes por valor del valor de 32 bits especificado.
Swap64(uint64_t v)
uint64_t
Esto realiza un intercambio de orden de bytes por valor del valor de 64 bits especificado de forma incondicional.
Write8(uint8_t *& p, uint8_t v)
void
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 8 bits en la dirección del puntero especificada y aumenta el puntero en 8 bits (1 byte).

Espacios de nombres

nl::Weave::Encoding::BigEndian

Este espacio de nombres proporciona funciones para lo siguiente:

nl::Weave::Encoding::LittleEndian

Este espacio de nombres proporciona funciones para lo siguiente:

Funciones

Get8

uint8_t Get8(
  const uint8_t *p
)

Realiza una lectura de memoria, posiblemente no alineada, del valor de 8 bits desde la dirección del puntero especificada.

Detalles
Parámetros
[in] p
Es una dirección de puntero, potencialmente desalineada, desde la que se leerá el valor de 8 bits.
Resultado que se muestra
El valor de 8 bits en la dirección del puntero especificada.

Put8

void Put8(
  uint8_t *p,
  uint8_t v
)

Realiza una escritura en la memoria, posiblemente no alineada, del valor de 8 bits ordenado en bytes del sistema de destino a la dirección del puntero especificada.

Detalles
Parámetros
[in] p
Una dirección de puntero, potencialmente desalineada, en la que se escribirá el valor de 8 bits.
[in] v
Valor de 8 bits que se escribirá.

Read8

uint8_t Read8(
  uint8_t *& p
)

Realiza una lectura de memoria, posiblemente no alineada, del valor de 16 bits desde la dirección del puntero especificada y aumenta el puntero en 8 bits (1 byte).

Detalles
Parámetros
[in,out] p
Es una referencia a la dirección de un puntero, posiblemente no alineada, para leer el valor de 8 bits y aumentarlo en 8 bits (1 byte).
Resultado que se muestra
El valor de 8 bits en la dirección del puntero especificada.

Read8

uint8_t Read8(
  const uint8_t *& p
)

Realiza una lectura de memoria, posiblemente no alineada, del valor de 16 bits desde la dirección del puntero especificada y aumenta el puntero en 8 bits (1 byte).

Detalles
Parámetros
[in,out] p
Es una referencia a una dirección de puntero constante, potencialmente no alineada, para leer el valor de 8 bits y, luego, aumentarlo en 8 bits (1 byte).
Resultado que se muestra
El valor de 8 bits en la dirección del puntero especificada.

Swap16

uint16_t Swap16(
  uint16_t v
)

Esto realiza incondicionalmente un intercambio de orden de bytes por valor del valor de 16 bits especificado.

Detalles
Parámetros
[in] v
El valor de 16 bits que se intercambiará en el orden de bytes.
Resultado que se muestra
El valor de entrada, orden de bytes cambiado.

Swap32

uint32_t Swap32(
  uint32_t v
)

Esto realiza incondicionalmente un intercambio de orden de bytes por valor del valor de 32 bits especificado.

Detalles
Parámetros
[in] v
El valor de 32 bits que se intercambiará en el orden de bytes.
Resultado que se muestra
El valor de entrada, orden de bytes cambiado.

Swap64

uint64_t Swap64(
  uint64_t v
)

Esto realiza un intercambio de orden de bytes por valor del valor de 64 bits especificado de forma incondicional.

Detalles
Parámetros
[in] v
El valor de 64 bits que se intercambiará en el orden de bytes.
Resultado que se muestra
El valor de entrada, orden de bytes cambiado.

Write8

void Write8(
  uint8_t *& p,
  uint8_t v
)

Realiza una escritura en la memoria, posiblemente no alineada, del valor de 8 bits en la dirección del puntero especificada y aumenta el puntero en 8 bits (1 byte).

Detalles
Parámetros
[in,out] p
Es una referencia a la dirección de un puntero, posiblemente no alineada, para leer el valor de 8 bits y aumentarlo en 8 bits (1 byte).
[in] v
Valor de 8 bits que se escribirá.