O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl::Weave::Codificação::LittleEndian

Esse namespace oferece funções para:

Resumo

  • realizar a reordenação de bytes, em relação ao sistema host, pelo valor de poucos valores de pedido de bytes finais para tipos de 16, 32 e 64 bits.
  • Acessos simples e eficientes com mapeamento de memória, possivelmente para locais desalinhados, com ou sem reordenação de bytes, para quantidades ordenadas de byte terminal de 8, 16, 32 e 64 bits, com e sem gerenciamento de ponteiro.

Em alguns sistemas host de endian, não haverá reordenação de bytes real. Em outros sistemas, a reordenação de bytes é executada conforme apropriado.

Functions

Get16(const uint8_t *p)
uint16_t
Realizar uma leitura de memória, possivelmente não alinhada, do valor de 16 bits do byte final ordenado do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.
Get32(const uint8_t *p)
uint32_t
Executa uma leitura de memória, possivelmente não alinhada, do valor de 32 bits do byte final ordenado pelo endereço de ponteiro especificado, executa a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.
Get64(const uint8_t *p)
uint64_t
Executa uma leitura de memória, possivelmente não alinhada, do valor de 64 bits do byte final ordenado pelo endereço de ponteiro especificado, realizando a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.
HostSwap16(uint16_t v)
uint16_t
Conforme necessário, para o sistema de destino, esse é um processo de troca de ordem de byte por valor do valor de 16 bits especificado, presumindo-se que esteja em pequena ordem de bytes endian para o sistema de destino (por exemplo,
HostSwap32(uint32_t v)
uint32_t
Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 32 bits especificado, presumindo-se que esteja em pequena ordem de bytes endian para o sistema de destino (por exemplo,
HostSwap64(uint64_t v)
uint64_t
Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 64 bits especificado, presumindo-se que esteja em pequena ordem de bytes endian para o sistema de destino (por exemplo,
Put16(uint8_t *p, uint16_t v)
void
Realizar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino encomendado valor de 16 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do endian.
Put32(uint8_t *p, uint32_t v)
void
Realizar uma gravação de memória, possivelmente desalinhada, do byte do sistema de destino ordenado valor de 32 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor em pouca ordem de bytes endian.
Put64(uint8_t *p, uint64_t v)
void
Realizar uma gravação de memória, possivelmente desalinhada, do byte do sistema de destino ordenado valor de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor em pouca ordem de bytes endian.
Read16(uint8_t *& p)
uint16_t
realizar uma leitura de memória, possivelmente não alinhada, do pequeno byte enviado ordem de 16 bits do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 16 bits (2 bytes).
Read16(const uint8_t *& p)
uint16_t
realizar uma leitura de memória, possivelmente não alinhada, do pequeno byte enviado ordem de 16 bits do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 16 bits (2 bytes).
Read32(uint8_t *& p)
uint32_t
Executa uma leitura de memória possivelmente não alinhada do pequeno byte final ordenado em 32 bits do endereço de ponteiro especificado, realizando a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementando o ponteiro em 32 bits (4 bytes).
Read32(const uint8_t *& p)
uint32_t
Executa uma leitura de memória possivelmente não alinhada do pequeno byte final ordenado em 32 bits do endereço de ponteiro especificado, realizando a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementando o ponteiro em 32 bits (4 bytes).
Read64(uint8_t *& p)
uint64_t
realizar uma leitura de memória, possivelmente desalinhada, do pequeno byte final ordenado em 64 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 64 bits (8 bytes).
Read64(const uint8_t *& p)
uint64_t
realizar uma leitura de memória, possivelmente desalinhada, do pequeno byte final ordenado em 64 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 64 bits (8 bytes).
Write16(uint8_t *& p, uint16_t v)
void
Realizar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino encomendado valor de 16 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do endian.
Write32(uint8_t *& p, uint32_t v)
void
Realizar uma gravação de memória, possivelmente desalinhada, do byte do sistema de destino ordenado valor de 32 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor em pouca ordem de bytes endian.
Write64(uint8_t *& p, uint64_t v)
void
Realizar uma gravação de memória, possivelmente desalinhada, do byte do sistema de destino ordenado valor de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor em pouca ordem de bytes endian.

Functions

Get16

uint16_t Get16(
  const uint8_t *p
)

Realizar uma leitura de memória, possivelmente não alinhada, do valor de 16 bits do byte final ordenado do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, para ler o valor ordenado de byte final de 16 bits.
Retorna
O valor de 16 bits no endereço de ponteiro especificado, se necessário, bytes reorganizados.

Get32

uint32_t Get32(
  const uint8_t *p
)

Executa uma leitura de memória, possivelmente não alinhada, do valor de 32 bits do byte final ordenado pelo endereço de ponteiro especificado, executa a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, para ler o valor ordenado de byte final de 32 bits.
Retorna
O valor de 32 bits no endereço de ponteiro especificado, se necessário, byte reordenado.

Get64

uint64_t Get64(
  const uint8_t *p
)

Executa uma leitura de memória, possivelmente não alinhada, do valor de 64 bits do byte final ordenado pelo endereço de ponteiro especificado, realizando a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, para ler o valor ordenado de byte final de 64 bits.
Retorna
O valor de 64 bits no endereço do ponteiro especificado, se necessário, byte reordenado.

HostSwap16.

uint16_t HostSwap16(
  uint16_t v
)

Conforme necessário, para o sistema de destino, esse é um processo de troca de ordem de byte por valor do valor de 16 bits especificado, presumindo-se que esteja em pequena ordem de bytes endian para o sistema de destino (por exemplo,

host).

Consequentemente, em pequenos sistemas de destino endian, isso é um ambiente autônomo e em sistemas de destino endian grande, isso executa uma reordenação.

Detalhes
Parâmetros
[in] v
O valor de 16 bits a ser percorrido a ordem dos bytes.
Retorna
O valor de entrada, se necessário, trocado pela ordem de bytes.

HostSwap32.

uint32_t HostSwap32(
  uint32_t v
)

Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 32 bits especificado, presumindo-se que esteja em pequena ordem de bytes endian para o sistema de destino (por exemplo,

host).

Consequentemente, em pequenos sistemas de destino endian, isso é um ambiente autônomo e em sistemas de destino endian grande, isso executa uma reordenação.

Detalhes
Parâmetros
[in] v
O valor de 32 bits a ser trocado na ordem de bytes.
Retorna
O valor de entrada, se necessário, trocado pela ordem de bytes.

HostSwap64.

uint64_t HostSwap64(
  uint64_t v
)

Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 64 bits especificado, presumindo-se que esteja em pequena ordem de bytes endian para o sistema de destino (por exemplo,

host).

Consequentemente, em pequenos sistemas de destino endian, isso é um ambiente autônomo e em sistemas de destino endian grande, isso executa uma reordenação.

Detalhes
Parâmetros
[in] v
O valor de 64 bits a ser trocado por ordem de byte.
Retorna
O valor de entrada, se necessário, trocado pela ordem de bytes.

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

Realizar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino encomendado valor de 16 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do endian.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, para gravar o valor de 16 bits ordenado pelo byte do sistema em pouca ordem de bytes endian.
[in] v
O valor de 16 bits para gravar, se necessário, reorganizado em bytes.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

Realizar uma gravação de memória, possivelmente desalinhada, do byte do sistema de destino ordenado valor de 32 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor em pouca ordem de bytes endian.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente não alinhado, para gravar o valor de 32 bits do byte do sistema de destino em uma ordem pequena de byte final.
[in] v
O valor de 32 bits para gravar, se necessário, byte reordenado.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

Realizar uma gravação de memória, possivelmente desalinhada, do byte do sistema de destino ordenado valor de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor em pouca ordem de bytes endian.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, para gravar o valor de 64 bits do byte do sistema de destino em uma ordem pequena de byte final.
[in] v
O valor de 64 bits para gravar, se necessário, reorganizado em bytes.

Leitura 16

uint16_t Read16(
  uint8_t *& p
)

realizar uma leitura de memória, possivelmente não alinhada, do pequeno byte enviado ordem de 16 bits do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 16 bits (2 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro, possivelmente desalinhado, para ler o valor ordenado de byte final de 16 bits e depois aumentar em 16 bits (2 bytes).
Retorna
O valor de 16 bits no endereço de ponteiro especificado, se necessário, trocado pela ordem de bytes.

Leitura 16

uint16_t Read16(
  const uint8_t *& p
)

realizar uma leitura de memória, possivelmente não alinhada, do pequeno byte enviado ordem de 16 bits do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 16 bits (2 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro constante, possivelmente desalinhado, para ler o valor ordenado de byte final de 16 bits e depois aumentar em 16 bits (2 bytes).
Retorna
O valor de 16 bits no endereço de ponteiro especificado, se necessário, trocado pela ordem de bytes.

Leitura 32

uint32_t Read32(
  uint8_t *& p
)

Executa uma leitura de memória possivelmente não alinhada do pequeno byte final ordenado em 32 bits do endereço de ponteiro especificado, realizando a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementando o ponteiro em 32 bits (4 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro, possivelmente desalinhado, para ler o valor ordenado de byte final de 32 bits e depois aumentar em 32 bits (4 bytes).
Retorna
O valor de 32 bits no endereço de ponteiro especificado, se necessário, trocada pela ordem de bytes.

Leitura 32

uint32_t Read32(
  const uint8_t *& p
)

Executa uma leitura de memória possivelmente não alinhada do pequeno byte final ordenado em 32 bits do endereço de ponteiro especificado, realizando a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementando o ponteiro em 32 bits (4 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro constante, possivelmente desalinhado, para ler o valor ordenado de byte final de 32 bits e depois aumentar em 32 bits (4 bytes).
Retorna
O valor de 32 bits no endereço de ponteiro especificado, se necessário, trocada pela ordem de bytes.

Leitura 64

uint64_t Read64(
  uint8_t *& p
)

realizar uma leitura de memória, possivelmente desalinhada, do pequeno byte final ordenado em 64 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 64 bits (8 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro, possivelmente desalinhado, para ler o valor ordenado de bytes finais de 64 bits e depois aumentar em 64 bits (8 bytes).
Retorna
O valor de 64 bits no endereço de ponteiro especificado, se necessário, trocada pela ordem de bytes.

Leitura 64

uint64_t Read64(
  const uint8_t *& p
)

realizar uma leitura de memória, possivelmente desalinhada, do pequeno byte final ordenado em 64 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 64 bits (8 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro constante, possivelmente desalinhado, para ler o valor ordenado de byte final de 64 bits de e para incrementar em 64 bits (8 bytes).
Retorna
O valor de 64 bits no endereço de ponteiro especificado, se necessário, trocada pela ordem de bytes.

Gravação16

void Write16(
  uint8_t *& p,
  uint16_t v
)

Realizar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino encomendado valor de 16 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do endian.

Detalhes
Parâmetros
[in] p
Uma referência a um endereço de ponteiro, possivelmente desalinhado, para gravar o valor de 16 bits do byte do sistema ordenado em uma ordem de bytes Endian curta e depois incrementar em 16 bits (2 bytes).
[in] v
O valor de 16 bits a ser gravado, se necessário, trocado pela ordem de bytes.

Gravação 32

void Write32(
  uint8_t *& p,
  uint32_t v
)

Realizar uma gravação de memória, possivelmente desalinhada, do byte do sistema de destino ordenado valor de 32 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor em pouca ordem de bytes endian.

Detalhes
Parâmetros
[in] p
Uma referência a um endereço de ponteiro, possivelmente desalinhado, para gravar o valor de 32 bits do byte do sistema alvo em ordem de bytes ("endian bytes") e depois incrementar em 32 bits (4 bytes).
[in] v
O valor de 32 bits para gravar, se necessário, a ordem de bytes trocada.

Gravação 64

void Write64(
  uint8_t *& p,
  uint64_t v
)

Realizar uma gravação de memória, possivelmente desalinhada, do byte do sistema de destino ordenado valor de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor em pouca ordem de bytes endian.

Detalhes
Parâmetros
[in] p
Uma referência a um endereço de ponteiro, possivelmente desalinhado, para gravar o valor do byte do sistema de destino ordenado em 64 bits, em ordem ordem de bytes, e depois incrementar em 64 bits (8 bytes).
[in] v
O valor de 64 bits a ser gravado, se necessário, trocado pela ordem de bytes.