нл:: Переплетение:: Кодировка:: BigEndian
Это пространство имен предоставляет функции для:
Краткое содержание
- Выполнение переупорядочения байтов относительно хост-системы по значению упорядоченных значений байтов с прямым порядком байтов для 16-, 32- и 64-битных типов.
- Безопасное выполнение простого и эффективного доступа к отображению в памяти, потенциально к невыровненным областям памяти, с переупорядочением байтов или без него, к 8-, 16-, 32- и 64-битным количествам с обратным порядком байтов, как с управлением указателями, так и без него.
В хост-системах с прямым порядком байтов фактического переупорядочения байтов происходить не будет. В других системах переупорядочение байтов выполняется соответствующим образом.
Функции | |
---|---|
Get16 (const uint8_t *p) | uint16_t Выполните потенциально невыровненное чтение памяти 16-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы. |
Get32 (const uint8_t *p) | uint32_t Выполните потенциально невыровненное чтение памяти 32-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы. |
Get64 (const uint8_t *p) | uint64_t Выполните потенциально невыровненное чтение памяти 64-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы. |
HostSwap16 (uint16_t v) | uint16_t Это условно выполняет, если это необходимо для целевой системы, замену порядка байтов на значение указанного 16-битного значения, предположительно имеющего порядок байтов с прямым порядком байтов для целевой системы (т. е. |
HostSwap32 (uint32_t v) | uint32_t Это условно выполняет, если это необходимо для целевой системы, замену порядка байтов на значение указанного 32-битного значения, предположительно имеющего порядок байтов с прямым порядком байтов для целевой системы (т. е. |
HostSwap64 (uint64_t v) | uint64_t Это условно выполняет, если это необходимо для целевой системы, замену порядка байтов на значение указанного 64-битного значения, предположительно имеющего порядок байтов с прямым порядком байтов для целевой системы (т. е. |
Put16 (uint8_t *p, uint16_t v) | void Выполните потенциально невыровненную запись в память 16-битного значения целевой системы с упорядоченным порядком байтов по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов. |
Put32 (uint8_t *p, uint32_t v) | void Выполните потенциально невыровненную запись в память 32-битного значения целевой системы с упорядоченным байтом по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов. |
Put64 (uint8_t *p, uint64_t v) | void Выполните потенциально невыровненную запись в память целевого системного 64-битного значения с упорядоченным порядком байтов по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов. |
Read16 (uint8_t *& p) | uint16_t Выполните потенциально невыровненное чтение памяти 16-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 16 бит (2 байта). |
Read16 (const uint8_t *& p) | uint16_t Выполните потенциально невыровненное чтение памяти 16-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 16 бит (2 байта). |
Read32 (uint8_t *& p) | uint32_t Выполните потенциально невыровненное чтение памяти 32-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 32 бита (4 байта). |
Read32 (const uint8_t *& p) | uint32_t Выполните потенциально невыровненное чтение памяти 32-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 32 бита (4 байта). |
Read64 (uint8_t *& p) | uint64_t Выполните потенциально невыровненное чтение памяти 64-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 64 бита (8 байт). |
Read64 (const uint8_t *& p) | uint64_t Выполните потенциально невыровненное чтение памяти 64-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 64 бита (8 байт). |
Write16 (uint8_t *& p, uint16_t v) | void Выполните потенциально невыровненную запись в память 16-битного значения целевой системы с упорядоченным байтом по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов. |
Write32 (uint8_t *& p, uint32_t v) | void Выполните потенциально невыровненную запись в память целевого системного 32-битного значения с упорядоченным порядком байтов по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов. |
Write64 (uint8_t *& p, uint64_t v) | void Выполните потенциально невыровненную запись в память целевого системного 64-битного значения с упорядоченным порядком байтов по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов. |
Функции
Получить16
uint16_t Get16( const uint8_t *p )
Выполните потенциально невыровненное чтение памяти 16-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 16-битное значение по указанному адресу указателя, при необходимости порядок байтов переупорядочивается. |
Получить32
uint32_t Get32( const uint8_t *p )
Выполните потенциально невыровненное чтение памяти 32-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 32-битное значение по указанному адресу указателя, при необходимости порядок байтов переупорядочивается. |
Получить64
uint64_t Get64( const uint8_t *p )
Выполните потенциально невыровненное чтение памяти 64-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 64-битное значение по указанному адресу указателя, при необходимости порядок байтов переупорядочивается. |
HostSwap16
uint16_t HostSwap16( uint16_t v )
Это условно выполняет, если это необходимо для целевой системы, замену порядка байтов на значение указанного 16-битного значения, предположительно имеющего порядок байтов с прямым порядком байтов для целевой системы (т. е.
хост) порядок байтов.
Следовательно, в целевых системах с порядковым порядком это не является операцией, а в целевых системах с прямым порядком байтов выполняется переупорядочение.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Входное значение при необходимости меняет порядок байтов. |
HostSwap32
uint32_t HostSwap32( uint32_t v )
Это условно выполняет, если это необходимо для целевой системы, замену порядка байтов на значение указанного 32-битного значения, предположительно имеющего порядок байтов с прямым порядком байтов для целевой системы (т. е.
хост) порядок байтов.
Следовательно, в целевых системах с порядковым порядком это не является операцией, а в целевых системах с прямым порядком байтов выполняется переупорядочение.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Входное значение при необходимости меняет порядок байтов. |
HostSwap64
uint64_t HostSwap64( uint64_t v )
Это условно выполняет, если это необходимо для целевой системы, замену порядка байтов на значение указанного 64-битного значения, предположительно имеющего порядок байтов с прямым порядком байтов для целевой системы (т. е.
хост) порядок байтов.
Следовательно, в целевых системах с порядковым порядком байтов это не является операцией, а в целевых системах с прямым порядком байтов выполняется переупорядочение.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Входное значение при необходимости меняет порядок байтов. |
Поставьте16
void Put16( uint8_t *p, uint16_t v )
Выполните потенциально невыровненную запись в память 16-битного значения целевой системы с упорядоченным байтом по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Поставить32
void Put32( uint8_t *p, uint32_t v )
Выполните потенциально невыровненную запись в память целевого системного 32-битного значения с упорядоченным порядком байтов по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Поставил64
void Put64( uint8_t *p, uint64_t v )
Выполните потенциально невыровненную запись в память целевого системного 64-битного значения с упорядоченным порядком байтов по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Читать16
uint16_t Read16( uint8_t *& p )
Выполните потенциально невыровненное чтение памяти 16-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 16 бит (2 байта).
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 16-битное значение по указанному адресу указателя, при необходимости порядок байт меняется. |
Читать16
uint16_t Read16( const uint8_t *& p )
Выполните потенциально невыровненное чтение памяти 16-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 16 бит (2 байта).
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 16-битное значение по указанному адресу указателя, при необходимости порядок байт меняется. |
Читать32
uint32_t Read32( uint8_t *& p )
Выполните потенциально невыровненное чтение памяти 32-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 32 бита (4 байта).
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 32-битное значение по указанному адресу указателя, при необходимости порядок байт меняется. |
Читать32
uint32_t Read32( const uint8_t *& p )
Выполните потенциально невыровненное чтение памяти 32-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 32 бита (4 байта).
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 32-битное значение по указанному адресу указателя, при необходимости порядок байт меняется. |
Читать64
uint64_t Read64( uint8_t *& p )
Выполните потенциально невыровненное чтение памяти 64-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 64 бита (8 байт).
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 64-битное значение по указанному адресу указателя, при необходимости порядок байт меняется. |
Читать64
uint64_t Read64( const uint8_t *& p )
Выполните потенциально невыровненное чтение памяти 64-битного значения с прямым порядком байтов из указанного адреса указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов целевой системы, и увеличьте указатель на 64 бита (8 байт).
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 64-битное значение по указанному адресу указателя, при необходимости порядок байт меняется. |
Написать16
void Write16( uint8_t *& p, uint16_t v )
Выполните потенциально невыровненную запись в память 16-битного значения целевой системы с упорядоченным байтом по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Написать32
void Write32( uint8_t *& p, uint32_t v )
Выполните потенциально невыровненную запись в память 32-битного значения целевой системы с упорядоченным байтом по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Написать64
void Write64( uint8_t *& p, uint64_t v )
Выполните потенциально невыровненную запись в память целевого системного 64-битного значения с упорядоченным порядком байтов по указанному адресу указателя, при необходимости выполните переупорядочение байтов, чтобы целевая система поместила значение в порядок байтов с прямым порядком байтов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|