nl:: Weave:: Encoding:: LittleEndian
Ta przestrzeń nazw zapewnia funkcje, które umożliwiają:
Podsumowanie
- Zmienianie kolejności bajtów w odniesieniu do systemu hosta przez zastosowanie małych wartości uporządkowanych w bajtach endian dla typów 16-, 32- i 64-bitowych.
- Bezpieczne przeprowadzanie prostych i wydajnych operacji związanych z mapowaniem na pamięć, potencjalnie do niedopasowanych lokalizacji pamięci, z możliwością zmiany kolejności bajtów lub bez niej – na 8-, 16-, 32- i 64-bitowe małe uporządkowane liczby bajtów na końcu, zarówno z zarządzaniem wskaźnikami, jak i bez nich.
W systemach hosta typu endian nie zachodzi faktyczna zmiana kolejności bajtów. W innych systemach zmiana kolejności bajtów jest ustawiana odpowiednio.
Funkcje |
|
---|---|
Get16(const uint8_t *p)
|
uint16_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci podręcznej, uporządkowanej według 16-bitowej wartości na końcu kodu, z określonego adresu wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z kolejnością bajtów w systemie docelowym.
|
Get32(const uint8_t *p)
|
uint32_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci podręcznej stanu uporządkowanej 32-bitowej wartości na końcu kodu z określonego adresu wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z kolejnością bajtów w systemie docelowym.
|
Get64(const uint8_t *p)
|
uint64_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci małej, uporządkowanej według 64-bitowej wartości na końcu 64-bitowej wartości wskaźnika na końcu podanego adresu wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiedniej kolejności bajtów w systemie docelowym.
|
HostSwap16(uint16_t v)
|
uint16_t
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów o wartość określonej 16-bitowej wartości, która ma mieć małą kolejność bajtową w systemie docelowym (tzn.
|
HostSwap32(uint32_t v)
|
uint32_t
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów o wartość określonej 32-bitowej wartości, która ma mieć małą kolejność bajtową w systemie docelowym (tzn.
|
HostSwap64(uint64_t v)
|
uint64_t
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów o wartość określonej 64-bitowej wartości, która ma mieć małą kolejność bajtową w systemie docelowym (tzn.
|
Put16(uint8_t *p, uint16_t v)
|
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci systemu docelowego 16-bitowej wartości w uporządkowanej 16-bitowej wartości na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w małej kolejności bajtów na końcu.
|
Put32(uint8_t *p, uint32_t v)
|
void
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego w uporządkowanej 32-bitowej wartości w określonym adresie wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w małym porządkowaniu bajtów na końcu.
|
Put64(uint8_t *p, uint64_t v)
|
void
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego 64-bitowej wartości uporządkowanej według 64-bitowej wartości na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieszczał wartość w małym porządkowaniu bajtów na końcu.
|
Read16(uint8_t *& p)
|
uint16_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci podręcznej, uporządkowanej według 16-bitowej wartości na końcu kodu, z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy zastosował wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym i zwiększy wskaźnik o 16 bitów (2 bajty).
|
Read16(const uint8_t *& p)
|
uint16_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci podręcznej, uporządkowanej według 16-bitowej wartości na końcu kodu, z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy zastosował wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym i zwiększy wskaźnik o 16 bitów (2 bajty).
|
Read32(uint8_t *& p)
|
uint32_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci, uporządkowaną w porządku 32-bitowej wartości na końcu kodu z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
|
Read32(const uint8_t *& p)
|
uint32_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci, uporządkowaną w porządku 32-bitowej wartości na końcu kodu z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
|
Read64(uint8_t *& p)
|
uint64_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci małej, uporządkowanej na końcu 64-bitowej wartości z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 64 bity (8 bajtów).
|
Read64(const uint8_t *& p)
|
uint64_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci małej, uporządkowanej na końcu 64-bitowej wartości z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, 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 systemu docelowego 16-bitowej wartości w uporządkowanej 16-bitowej wartości na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w małej kolejności bajtów na końcu.
|
Write32(uint8_t *& p, uint32_t v)
|
void
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego w uporządkowanej 32-bitowej wartości w określonym adresie wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w małym porządkowaniu bajtów na końcu.
|
Write64(uint8_t *& p, uint64_t v)
|
void
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego 64-bitowej wartości uporządkowanej według 64-bitowej wartości na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieszczał wartość w małym porządkowaniu bajtów na końcu.
|
Funkcje
Get16
uint16_t Get16( const uint8_t *p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci podręcznej, uporządkowanej według 16-bitowej wartości na końcu kodu, z określonego adresu wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z kolejnością bajtów w systemie docelowym.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
16-bitowa wartość w podanym adresie wskaźnika (w razie potrzeby) została zmieniona ponownie w bajtach.
|
Get32
uint32_t Get32( const uint8_t *p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci podręcznej stanu uporządkowanej 32-bitowej wartości na końcu kodu z określonego adresu wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z kolejnością bajtów w systemie docelowym.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość 32-bitowa w podanym adresie wskaźnika (w razie potrzeby) została zmieniona ponownie w bajtach.
|
Get64
uint64_t Get64( const uint8_t *p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci małej, uporządkowanej według 64-bitowej wartości na końcu 64-bitowej wartości wskaźnika na końcu podanego adresu wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiedniej kolejności bajtów w systemie docelowym.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
64-bitowa wartość w podanym adresie wskaźnika (w razie potrzeby) została zmieniona ponownie w bajtach.
|
HostSwap16
uint16_t HostSwap16( uint16_t v )
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów o wartość określonej 16-bitowej wartości, która ma mieć małą kolejność bajtową w systemie docelowym (tzn.
hosta) w bajtach.
W rezultacie w systemach docelowych małych Endian jest to jedyny sposób, a w systemach Big Endian trzeba zmienić ich kolejność.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość wejściowa (w razie potrzeby) z zamienną kolejnością bajtów.
|
HostSwap32
uint32_t HostSwap32( uint32_t v )
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów o wartość określonej 32-bitowej wartości, która ma mieć małą kolejność bajtową w systemie docelowym (tzn.
hosta) w bajtach.
W rezultacie w systemach docelowych małych Endian jest to jedyny sposób, a w systemach Big Endian trzeba zmienić ich kolejność.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość wejściowa (w razie potrzeby) z zamienną kolejnością bajtów.
|
HostSwap64
uint64_t HostSwap64( uint64_t v )
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów o wartość określonej 64-bitowej wartości, która ma mieć małą kolejność bajtową w systemie docelowym (tzn.
hosta) w bajtach.
W rezultacie w systemach docelowych małych Endian jest to jedyny sposób, a w systemach Big Endian trzeba zmienić ich kolejność.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość wejściowa (w razie potrzeby) z zamienną kolejnością bajtów.
|
Put16
void Put16( uint8_t *p, uint16_t v )
Wykonaj (potencjalnie niedopasowany) zapis w pamięci systemu docelowego 16-bitowej wartości w uporządkowanej 16-bitowej wartości na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w małej kolejności bajtów na końcu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Put32
void Put32( uint8_t *p, uint32_t v )
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego w uporządkowanej 32-bitowej wartości w określonym adresie wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w małym porządkowaniu bajtów na końcu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Put64
void Put64( uint8_t *p, uint64_t v )
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego 64-bitowej wartości uporządkowanej według 64-bitowej wartości na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieszczał wartość w małym porządkowaniu bajtów na końcu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Read16
uint16_t Read16( uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci podręcznej, uporządkowanej według 16-bitowej wartości na końcu kodu, z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy zastosował wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym i zwiększy wskaźnik o 16 bitów (2 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
16-bitowa wartość w podanym adresie wskaźnika (w razie potrzeby) z zamianą bajtów.
|
Read16
uint16_t Read16( const uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci podręcznej, uporządkowanej według 16-bitowej wartości na końcu kodu, z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy zastosował wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym i zwiększy wskaźnik o 16 bitów (2 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
16-bitowa wartość w podanym adresie wskaźnika (w razie potrzeby) z zamianą bajtów.
|
Read32
uint32_t Read32( uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci, uporządkowaną w porządku 32-bitowej wartości na końcu kodu z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
32-bitowa wartość w określonym adresie wskaźnika (w razie potrzeby) z zamianą bajtów.
|
Read32
uint32_t Read32( const uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci, uporządkowaną w porządku 32-bitowej wartości na końcu kodu z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
32-bitowa wartość w określonym adresie wskaźnika (w razie potrzeby) z zamianą bajtów.
|
Read64
uint64_t Read64( uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci małej, uporządkowanej na końcu 64-bitowej wartości z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 64 bity (8 bajtów).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
64-bitowa wartość w określonym adresie wskaźnika (w razie potrzeby) z zamienioną kolejnością bajtów.
|
Read64
uint64_t Read64( const uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci małej, uporządkowanej na końcu 64-bitowej wartości z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 64 bity (8 bajtów).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
64-bitowa wartość w określonym adresie wskaźnika (w razie potrzeby) z zamienioną kolejnością bajtów.
|
Write16
void Write16( uint8_t *& p, uint16_t v )
Wykonaj (potencjalnie niedopasowany) zapis w pamięci systemu docelowego 16-bitowej wartości w uporządkowanej 16-bitowej wartości na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w małej kolejności bajtów na końcu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Write32
void Write32( uint8_t *& p, uint32_t v )
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego w uporządkowanej 32-bitowej wartości w określonym adresie wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w małym porządkowaniu bajtów na końcu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Write64
void Write64( uint8_t *& p, uint64_t v )
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego 64-bitowej wartości uporządkowanej według 64-bitowej wartości na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieszczał wartość w małym porządkowaniu bajtów na końcu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|