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
เขียนหน่วยความจำของไบต์เป้าหมายของระบบที่เรียงลำดับค่า 8 บิตไปยังที่อยู่ของตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว
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
)

เขียนหน่วยความจำของไบต์เป้าหมายของระบบที่เรียงลำดับค่า 8 บิตไปยังที่อยู่ของตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว

รายละเอียด
พารามิเตอร์
[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 บิตที่จะเขียน