nl::Weave::Encoding::LittleEndian

Ta przestrzeń nazw oferuje funkcje:

Podsumowanie

  • Zmienianie kolejności bajtów w odniesieniu do systemu hosta według wartości niewielkich, uporządkowanych bajtów końcowych dla typów 16-, 32- i 64-bitowych.
  • Bezpieczne wykonywanie prostych i wydajnych operacji dostępu z mapowaniem pamięci, potencjalnie do niedopasowanych lokalizacji pamięci, z możliwością zmiany kolejności bajtów lub bez niej, na ilości 8-, 16-, 32- i 64-bitowe w małych bajtach sekwencyjnych, zarówno z zarządzaniem wskaźnikami, jak i bez nich.

W małych końcowych systemach hosta zmiana kolejności bajtów nie będzie realizowana. W innych systemach kolejność bajtów jest obsługiwana odpowiednio do potrzeb.

Funkcje

Get16(const uint8_t *p)
uint16_t
Przeprowadź odczyt z pamięci (potencjalnie niedopasowaną) 16-bitowej wartości małego końcowego bajta uporządkowanego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.
Get32(const uint8_t *p)
uint32_t
Przeprowadź odczyt z pamięci (potencjalnie niedopasowaną) 32-bitowej wartości małego końcowego bajtu uporządkowanego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.
Get64(const uint8_t *p)
uint64_t
Przeprowadź odczyt z pamięci (potencjalnie niedopasowaną) 64-bitowej wartości małego końcowego bajtu uporządkowanego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.
HostSwap16(uint16_t v)
uint16_t
W ramach tego procesu warunkowo wykonuje się, w zależności od potrzeb systemu docelowego, zamianę kolejności bajtów na podstawie wartości określonej 16-bitowej wartości, przy założeniu, że w systemie docelowym występuje mała kolejność bajtów końcowych (np.
HostSwap32(uint32_t v)
uint32_t
W ramach tego procesu warunkowo wykonuje się, w razie potrzeby dla systemu docelowego, zamianę kolejności bajtów na podstawie wartości określonej 32-bitowej wartości, przy założeniu, że w systemie docelowym występuje mała kolejność bajtów końcowych (np.
HostSwap64(uint64_t v)
uint64_t
W ramach tego procesu warunkowo wykonuje się, w zależności od potrzeb systemu docelowego, zamianę kolejności bajtów według wartości określonej 64-bitowej wartości, co przyjmuje się przy założeniu, że w systemie docelowym występuje mała kolejność bajtów końcowych (np.
Put16(uint8_t *p, uint16_t v)
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 16-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy zapisywał wartość w mniejszej kolejności bajtów.
Put32(uint8_t *p, uint32_t v)
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 32-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy zapisywał wartość w mniejszej kolejności bajtów.
Put64(uint8_t *p, uint64_t v)
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 64-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w mniejszej kolejności bajtów.
Read16(uint8_t *& p)
uint16_t
Wykonaj potencjalnie niedopasowany odczyt pamięci dla 16-bitowej wartości małego końcowego bajta uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 16 bitów (2 bajty).
Read16(const uint8_t *& p)
uint16_t
Wykonaj potencjalnie niedopasowany odczyt pamięci dla 16-bitowej wartości małego końcowego bajta uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 16 bitów (2 bajty).
Read32(uint8_t *& p)
uint32_t
Wykonaj potencjalnie niedopasowany odczyt pamięci 32-bitowej wartości małego końcowego bajta uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 32 bity (4 bajty).
Read32(const uint8_t *& p)
uint32_t
Wykonaj potencjalnie niedopasowany odczyt pamięci 32-bitowej wartości małego końcowego bajta uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 32 bity (4 bajty).
Read64(uint8_t *& p)
uint64_t
Wykonaj potencjalnie niedopasowany odczyt pamięci 64-bitowej wartości małego końcowego bajtu uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 64 bity (8 bajtów).
Read64(const uint8_t *& p)
uint64_t
Wykonaj potencjalnie niedopasowany odczyt pamięci 64-bitowej wartości małego końcowego bajtu uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 64 bity (8 bajtów).
Write16(uint8_t *& p, uint16_t v)
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 16-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy zapisywał wartość w mniejszej kolejności bajtów.
Write32(uint8_t *& p, uint32_t v)
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 32-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy zapisywał wartość w mniejszej kolejności bajtów.
Write64(uint8_t *& p, uint64_t v)
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 64-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w mniejszej kolejności bajtów.

Funkcje

Get16

uint16_t Get16(
  const uint8_t *p
)

Przeprowadź odczyt z pamięci (potencjalnie niedopasowaną) 16-bitowej wartości małego końcowego bajta uporządkowanego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.

Szczegóły
Parametry
[in] p
Adres wskaźnika (potencjalnie niewyrównany) umożliwiający odczyt 16-bitowej wartości uporządkowanej w kolejności bajtów.
Zwroty
16-bitowa wartość pod określonym adresem wskaźnika (w razie potrzeby) o zmianie kolejności bajtów.

Get32

uint32_t Get32(
  const uint8_t *p
)

Przeprowadź odczyt z pamięci (potencjalnie niedopasowaną) 32-bitowej wartości małego końcowego bajtu uporządkowanego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.

Szczegóły
Parametry
[in] p
Adres wskaźnika (potencjalnie niewyrównany) umożliwiający odczyt 32-bitowej wartości uporządkowanej w kolejności bajtów.
Zwroty
Wartość 32-bitowa pod określonym adresem wskaźnika, w razie potrzeby, o zmianie kolejności bajtów.

Get64

uint64_t Get64(
  const uint8_t *p
)

Przeprowadź odczyt z pamięci (potencjalnie niedopasowaną) 64-bitowej wartości małego końcowego bajtu uporządkowanego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.

Szczegóły
Parametry
[in] p
Adres wskaźnika (potencjalnie niewyrównany) umożliwiający odczyt 64-bitowej wartości uporządkowanej w kolejności bajtów.
Zwroty
Wartość 64-bitowa pod określonym adresem wskaźnika, w razie potrzeby, o zmianie kolejności bajtów.

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

W ramach tego procesu warunkowo wykonuje się, w zależności od potrzeb systemu docelowego, zamianę kolejności bajtów na podstawie wartości określonej 16-bitowej wartości, przy założeniu, że w systemie docelowym występuje mała kolejność bajtów końcowych (np.

hosta).

Oznacza to, że w małych wewnętrznych systemach docelowych jest to niemożliwe, a w dużych systemach docelowych wymaga to reorganizacji.

Szczegóły
Parametry
[in] v
16-bitowa wartość zamieniona kolejność bajtów.
Zwroty
W razie potrzeby nadana wartość została zamieniona na wartość wejściową.

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

W ramach tego procesu warunkowo wykonuje się, w razie potrzeby dla systemu docelowego, zamianę kolejności bajtów na podstawie wartości określonej 32-bitowej wartości, przy założeniu, że w systemie docelowym występuje mała kolejność bajtów końcowych (np.

hosta).

Oznacza to, że w małych wewnętrznych systemach docelowych jest to niemożliwe, a w dużych systemach docelowych wymaga to reorganizacji.

Szczegóły
Parametry
[in] v
32-bitowa wartość zamieniana kolejność bajtów.
Zwroty
W razie potrzeby nadana wartość została zamieniona na wartość wejściową.

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

W ramach tego procesu warunkowo wykonuje się, w zależności od potrzeb systemu docelowego, zamianę kolejności bajtów według wartości określonej 64-bitowej wartości, co przyjmuje się przy założeniu, że w systemie docelowym występuje mała kolejność bajtów końcowych (np.

hosta).

Oznacza to, że w małych wewnętrznych systemach docelowych jest to niemożliwe, a w dużych systemach docelowych wymaga to reorganizacji.

Szczegóły
Parametry
[in] v
64-bitowa wartość zamieniana kolejność bajtów.
Zwroty
W razie potrzeby nadana wartość została zamieniona na wartość wejściową.

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 16-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy zapisywał wartość w mniejszej kolejności bajtów.

Szczegóły
Parametry
[in] p
Adres wskaźnika (potencjalnie niewyrównany) do zapisywania 16-bitowej wartości uporządkowanej bajtów systemowych docelowych w kolejności bajtów
[in] v
16-bitowa wartość do zapisania, w razie potrzeby, z zmianą kolejności bajtów.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 32-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy zapisywał wartość w mniejszej kolejności bajtów.

Szczegóły
Parametry
[in] p
Adres wskaźnika (potencjalnie niewyrównany) do zapisywania 32-bitowej wartości uporządkowanej bajtów systemowych docelowych w kolejności bajtów na końcu.
[in] v
32-bitowa wartość do zapisania, jeśli to konieczne, z zmianą kolejności bajtów.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 64-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w mniejszej kolejności bajtów.

Szczegóły
Parametry
[in] p
Adres wskaźnika (potencjalnie niewyrównany) do zapisywania 64-bitowej wartości uporządkowanej bajtów systemowych docelowych w kolejności bajtów na końcu.
[in] v
64-bitowa wartość do zapisania, w razie potrzeby, o zmianie kolejności bajtów.

Read16

uint16_t Read16(
  uint8_t *& p
)

Wykonaj potencjalnie niedopasowany odczyt pamięci dla 16-bitowej wartości małego końcowego bajta uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 16 bitów (2 bajty).

Szczegóły
Parametry
[in,out] p
Odwołanie do adresu wskaźnika, potencjalnie niewyrównanego, aby odczytywać 16-bitową wartość uporządkowaną 16-bitową wartością uporządkowaną w kolejności bajtów, a następnie zwiększać ją o 16-bit (2 bajty).
Zwroty
16-bitowa wartość pod określonym adresem wskaźnika, w razie potrzeby zamieniana na kolejne bajty.

Read16

uint16_t Read16(
  const uint8_t *& p
)

Wykonaj potencjalnie niedopasowany odczyt pamięci dla 16-bitowej wartości małego końcowego bajta uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 16 bitów (2 bajty).

Szczegóły
Parametry
[in,out] p
Odwołanie do stałego adresu wskaźnika, potencjalnie niewyrównanego, aby odczytywać wartość 16-bitową, uporządkowaną w kolejności bajtów, a następnie zwiększać o 16 bitów (2 bajty).
Zwroty
16-bitowa wartość pod określonym adresem wskaźnika, w razie potrzeby zamieniana na kolejne bajty.

Read32

uint32_t Read32(
  uint8_t *& p
)

Wykonaj potencjalnie niedopasowany odczyt pamięci 32-bitowej wartości małego końcowego bajta uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 32 bity (4 bajty).

Szczegóły
Parametry
[in,out] p
Odwołanie do adresu wskaźnika (potencjalnie niewyrównanego) umożliwiającego odczyt 32-bitowej wartości uporządkowanej w kolejności małego bajta endian, a następnie zwiększenie liczby o 32 bity (4 bajty).
Zwroty
W razie potrzeby 32-bitowa wartość pod określonym adresem wskaźnika została zamieniona.

Read32

uint32_t Read32(
  const uint8_t *& p
)

Wykonaj potencjalnie niedopasowany odczyt pamięci 32-bitowej wartości małego końcowego bajta uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 32 bity (4 bajty).

Szczegóły
Parametry
[in,out] p
Odwołanie do stałego adresu wskaźnika, potencjalnie niewyrównanego, aby odczytywać 32-bitową, uporządkowaną wartość małego bajta końcowego, a następnie zwiększać o 32 bity (4 bajty).
Zwroty
W razie potrzeby 32-bitowa wartość pod określonym adresem wskaźnika została zamieniona.

Read64

uint64_t Read64(
  uint8_t *& p
)

Wykonaj potencjalnie niedopasowany odczyt pamięci 64-bitowej wartości małego końcowego bajtu uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 64 bity (8 bajtów).

Szczegóły
Parametry
[in,out] p
Odwołanie do adresu wskaźnika (potencjalnie niewyrównanego) umożliwiającego odczyt 64-bitowej wartości uporządkowanej w kolejności bajtów, a następnie zwiększenie o 64 bity (8 bajtów).
Zwroty
64-bitowa wartość pod określonym adresem wskaźnika, w razie potrzeby zamieniana na kolejne bajty.

Read64

uint64_t Read64(
  const uint8_t *& p
)

Wykonaj potencjalnie niedopasowany odczyt pamięci 64-bitowej wartości małego końcowego bajtu uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie, i zwiększ wskaźnik o 64 bity (8 bajtów).

Szczegóły
Parametry
[in,out] p
Odwołanie do stałego adresu wskaźnika, potencjalnie niewyrównanego, aby odczytywać 64-bitową, uporządkowaną wartość małego bajta końcowego, a następnie zwiększać o 64 bity (8 bajtów).
Zwroty
64-bitowa wartość pod określonym adresem wskaźnika, w razie potrzeby zamieniana na kolejne bajty.

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 16-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiedniej kolejności bajtów.

Szczegóły
Parametry
[in] p
Odwołanie do adresu wskaźnika, potencjalnie niewyrównanego, w celu zapisu 16-bitowej wartości uporządkowanej bajtów systemowych w docelowym porządku bajtowym w małej kolejności bajtów końcowych, a następnie zwiększającej wartość o 16 bitów (2 bajty).
[in] v
16-bitowa wartość do zapisania zamieniona w razie potrzeby.

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 32-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy zapisywał wartość w mniejszej kolejności bajtów.

Szczegóły
Parametry
[in] p
Odwołanie do adresu wskaźnika, potencjalnie niewyrównanego, w celu zapisu 32-bitowej wartości uporządkowanej bajtów systemowych w docelowym porządku bajtowym w małej kolejności bajtów końcowych, a następnie zwiększającej wartość o 32 bity (4 bajty).
[in] v
32-bitowa wartość do zapisania zamieniona w razie potrzeby.

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 64-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w mniejszej kolejności bajtów.

Szczegóły
Parametry
[in] p
Odwołanie do adresu wskaźnika, potencjalnie niewyrównanego, do zapisywania 64-bitowej wartości uporządkowanej bajtów systemowych w docelowym porządku bajtowym w małej kolejności bajtów końcowych, a następnie zwiększającej wartość o 64 bity (8 bajtów).
[in] v
64-bitowa wartość do zapisania zamieniona w razie potrzeby.