En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl::Weave::Codificación

Este espacio de nombres proporciona funciones para lo siguiente:

Resumen

  • Reordenar bytes por valor para tipos de 16, 32 y 64 bits.
  • Realizar de forma segura accesos simples y eficientes a los mapas 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

Functions

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

Espacios de nombres

nl::Weave::Codificación::BigEndian

Este espacio de nombres proporciona funciones para lo siguiente:

nl::Weave::Codificación::LittleEndian

Este espacio de nombres proporciona funciones para lo siguiente:

Functions

Get8

uint8_t Get8(
  const uint8_t *p
)

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

Detalles
Parámetros
[in] p
Una dirección del puntero, posiblemente no alineada, para leer el valor de 8 bits.
Qué muestra
Es el valor de 8 bits en la dirección del puntero especificado.

Put8

void Put8(
  uint8_t *p,
  uint8_t v
)

Realiza una escritura de memoria potencialmente no alineada del byte del sistema de destino ordenado de 8 bits a la dirección del puntero especificada.

Detalles
Parámetros
[in] p
Una dirección del puntero, posiblemente no alineada, para escribir el valor de 8 bits.
[in] v
Valor de 8 bits que se escribirá.

Lectura 8

uint8_t Read8(
  uint8_t *& p
)

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

Detalles
Parámetros
[in,out] p
Es una referencia a una dirección del puntero, posiblemente no alineada, para leer el valor de 8 bits y, luego, aumentar en 8 bits (1 byte).
Qué muestra
Es el valor de 8 bits en la dirección del puntero especificado.

Lectura 8

uint8_t Read8(
  const uint8_t *& p
)

Realiza una lectura de memoria potencialmente no alineada del valor de 16 bits de la dirección del puntero especificado 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, posiblemente desalineada, para leer el valor de 8 bits y, luego, aumentar en 8 bits (1 byte).
Qué muestra
Es el valor de 8 bits en la dirección del puntero especificado.

Intercambio16

uint16_t Swap16(
  uint16_t v
)

Esta acción realiza de forma incondicional un intercambio de orden de bytes por el valor del valor especificado de 16 bits.

Detalles
Parámetros
[in] v
Valor de 16 bits que se intercambiará por orden de bytes.
Qué muestra
El valor de entrada, se cambió el orden de bytes.

Intercambio 32

uint32_t Swap32(
  uint32_t v
)

Esta acción realiza de forma incondicional un intercambio de orden de bytes por el valor del valor de 32 bits especificado.

Detalles
Parámetros
[in] v
Valor de 32 bits que se intercambiará por orden de bytes.
Qué muestra
El valor de entrada, se cambió el orden de bytes.

Intercambio 64

uint64_t Swap64(
  uint64_t v
)

De esta forma, se realiza un intercambio de orden de bytes incondicional por el valor del valor de 64 bits especificado.

Detalles
Parámetros
[in] v
El valor de 64 bits que se intercambiará por orden de bytes.
Qué muestra
El valor de entrada, se cambió el orden de bytes.

Escritura8

void Write8(
  uint8_t *& p,
  uint8_t v
)

Ejecuta una escritura en la memoria potencialmente desalineada del valor de 8 bits hacia 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 del puntero, posiblemente no alineada, para leer el valor de 8 bits y, luego, aumentar en 8 bits (1 byte).
[in] v
Valor de 8 bits que se escribirá.