nl::Weave::Encoding

Esse namespace oferece funções para:

Resumo

  • Realização da reordenação de bytes por valor para tipos de 16, 32 e 64 bits.
  • Execução segura de acessos mapeados na memória simples e eficientes, potencialmente para locais de memória desalinhados, com ou sem reordenação de bytes, para quantidades de 8, 16, 32 e 64 bits, com e sem gerenciamento de ponteiro.

remotas

Get8(const uint8_t *p)
uint8_t
Executa uma leitura de memória, possivelmente não alinhada, do valor de 8 bits do endereço do ponteiro especificado.
Put8(uint8_t *p, uint8_t v)
void
Executa uma gravação de memória, potencialmente não alinhada, do valor ordenado de 8 bits do sistema de destino para o endereço de ponteiro especificado.
Read8(uint8_t *& p)
uint8_t
Executa uma leitura de memória, possivelmente não alinhada, do valor de 16 bits do endereço do ponteiro especificado e incrementa o ponteiro em 8 bits (1 byte).
Read8(const uint8_t *& p)
uint8_t
Executa uma leitura de memória, possivelmente não alinhada, do valor de 16 bits do endereço do ponteiro especificado e incrementa o ponteiro em 8 bits (1 byte).
Swap16(uint16_t v)
uint16_t
Isso executa incondicionalmente uma troca de ordem de bytes pelo valor do valor de 16 bits especificado.
Swap32(uint32_t v)
uint32_t
Isso executa incondicionalmente uma troca de ordem de bytes pelo valor do valor de 32 bits especificado.
Swap64(uint64_t v)
uint64_t
Isso executa incondicionalmente uma troca de ordem de bytes pelo valor do valor de 64 bits especificado.
Write8(uint8_t *& p, uint8_t v)
void
Executa uma gravação de memória, possivelmente não alinhada, do valor de 8 bits para o endereço do ponteiro especificado e incrementa o ponteiro em 8 bits (1 byte).

Namespaces

nl::Weave::Encoding::BigEndian

Esse namespace oferece funções para:

nl::Weave::Encoding::LittleEndian

Esse namespace oferece funções para:

remotas

Get8

uint8_t Get8(
  const uint8_t *p
)

Executa uma leitura de memória, possivelmente não alinhada, do valor de 8 bits do endereço do ponteiro especificado.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente sem alinhamento, para ler o valor de 8 bits.
Retorna
O valor de 8 bits no endereço de ponteiro especificado.

Put8

void Put8(
  uint8_t *p,
  uint8_t v
)

Executa uma gravação de memória, potencialmente não alinhada, do valor ordenado de 8 bits do sistema de destino para o endereço de ponteiro especificado.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente sem alinhamento, para gravar o valor de 8 bits.
[in] v
O valor de 8 bits a ser gravado.

Read8

uint8_t Read8(
  uint8_t *& p
)

Executa uma leitura de memória, possivelmente não alinhada, do valor de 16 bits do endereço do ponteiro especificado e incrementa o ponteiro em 8 bits (1 byte).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro, possivelmente sem alinhamento, para ler o valor de 8 bits de e para então incrementar em 8 bits (1 byte).
Retorna
O valor de 8 bits no endereço de ponteiro especificado.

Read8

uint8_t Read8(
  const uint8_t *& p
)

Executa uma leitura de memória, possivelmente não alinhada, do valor de 16 bits do endereço do ponteiro especificado e incrementa o ponteiro em 8 bits (1 byte).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro constante, possivelmente sem alinhamento, para ler o valor de 8 bits de e para então incrementar em 8 bits (1 byte).
Retorna
O valor de 8 bits no endereço de ponteiro especificado.

Swap16

uint16_t Swap16(
  uint16_t v
)

Isso executa incondicionalmente uma troca de ordem de bytes pelo valor do valor de 16 bits especificado.

Detalhes
Parâmetros
[in] v
O valor de 16 bits a ser trocado na ordem dos bytes.
Retorna
O valor de entrada, ordem de bytes trocada.

Swap32

uint32_t Swap32(
  uint32_t v
)

Isso executa incondicionalmente uma troca de ordem de bytes pelo valor do valor de 32 bits especificado.

Detalhes
Parâmetros
[in] v
O valor de 32 bits na qual a ordem dos bytes será trocada.
Retorna
O valor de entrada, ordem de bytes trocada.

Swap64

uint64_t Swap64(
  uint64_t v
)

Isso executa incondicionalmente uma troca de ordem de bytes pelo valor do valor de 64 bits especificado.

Detalhes
Parâmetros
[in] v
O valor de 64 bits em que a ordem dos bytes será trocada.
Retorna
O valor de entrada, ordem de bytes trocada.

Write8

void Write8(
  uint8_t *& p,
  uint8_t v
)

Executa uma gravação de memória, possivelmente não alinhada, do valor de 8 bits para o endereço do ponteiro especificado e incrementa o ponteiro em 8 bits (1 byte).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro, possivelmente sem alinhamento, para ler o valor de 8 bits de e para então incrementar em 8 bits (1 byte).
[in] v
O valor de 8 bits a ser gravado.