nl::Weave::Encoding

此命名空間提供下列函式:

摘要

  • 按照 16、32 和 64 位元類型的值將位元組重新排序。
  • 安全地執行簡單、高效率的記憶體對應存取行為,無論存取或沒有位元組重新排序,都可能達到 8、16、32 和 64 位元數量,而且無論是否管理指標都一樣。

函式

Get8(const uint8_t *p)
uint8_t
從指定指標位址執行 8 位元值 (可能未對齊) 的記憶體讀取。
Put8(uint8_t *p, uint8_t v)
void
對指定指標位址的目標系統位元組 (可能未對齊) 執行記憶體 (可能未對齊)。
Read8(uint8_t *& p)
uint8_t
從指定指標位址執行 16 位元值 (可能未對齊) 的記憶體讀取,並將指標遞增 8 位元 (1 個位元組)。
Read8(const uint8_t *& p)
uint8_t
從指定指標位址執行 16 位元值 (可能未對齊) 的記憶體讀取,並將指標遞增 8 位元 (1 個位元組)。
Swap16(uint16_t v)
uint16_t
這會無條件執行以指定 16 位元值的值進行位元組順序交換。
Swap32(uint32_t v)
uint32_t
這無條件地依照指定 32 位元值的值執行位元組順序交換。
Swap64(uint64_t v)
uint64_t
這會無條件使用指定 64 位元值的值進行位元組順序交換。
Write8(uint8_t *& p, uint8_t v)
void
對指定指標位址執行 8 位元值 (可能未對齊) 的記憶體,並將指標遞增 8 位元 (1 位元組)。

命名空間

nl::Weave::Encoding::BigEndian

此命名空間提供下列函式:

nl::Weave::Encoding::LittleEndian

此命名空間提供下列函式:

函式

Get8

uint8_t Get8(
  const uint8_t *p
)

從指定指標位址執行 8 位元值 (可能未對齊) 的記憶體讀取。

詳細資料
參數
[in] p
用來讀取 8 位元值的指標位址,可能未對齊。
傳回
指定指標位址的 8 位元值。

Put8

void Put8(
  uint8_t *p,
  uint8_t v
)

對指定指標位址的目標系統位元組 (可能未對齊) 執行記憶體 (可能未對齊)。

詳細資料
參數
[in] p
用於寫入 8 位元值的指標位址,可能未對齊。
[in] v
要寫入的 8 位元值。

Read8

uint8_t Read8(
  uint8_t *& p
)

從指定指標位址執行 16 位元值 (可能未對齊) 的記憶體讀取,並將指標遞增 8 位元 (1 個位元組)。

詳細資料
參數
[in,out] p
指向指標位址的參照 (可能未對齊),讀取 8 位元值之後,再以 8 位元 (1 個位元組) 為單位遞增。
傳回
指定指標位址的 8 位元值。

Read8

uint8_t Read8(
  const uint8_t *& p
)

從指定指標位址執行 16 位元值 (可能未對齊) 的記憶體讀取,並將指標遞增 8 位元 (1 個位元組)。

詳細資料
參數
[in,out] p
參照常數指標位址 (可能未對齊) 的參照,藉此從 8 位元值開始,再依 8 位元 (1 個位元組) 遞增值。
傳回
指定指標位址的 8 位元值。

Swap16

uint16_t Swap16(
  uint16_t v
)

這會無條件執行以指定 16 位元值的值進行位元組順序交換。

詳細資料
參數
[in] v
要交換位元組順序的 16 位元值。
傳回
輸入值,已交換位元組順序。

Swap32

uint32_t Swap32(
  uint32_t v
)

這無條件地依照指定 32 位元值的值執行位元組順序交換。

詳細資料
參數
[in] v
要交換位元組順序的 32 位元值。
傳回
輸入值,已交換位元組順序。

Swap64

uint64_t Swap64(
  uint64_t v
)

這會無條件使用指定 64 位元值的值進行位元組順序交換。

詳細資料
參數
[in] v
要交換位元組順序的 64 位元值。
傳回
輸入值,已交換位元組順序。

Write8

void Write8(
  uint8_t *& p,
  uint8_t v
)

對指定指標位址執行 8 位元值 (可能未對齊) 的記憶體,並將指標遞增 8 位元 (1 位元組)。

詳細資料
參數
[in,out] p
指向指標位址的參照 (可能未對齊),讀取 8 位元值之後,再以 8 位元 (1 個位元組) 為單位遞增。
[in] v
要寫入的 8 位元值。