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 บิตที่จะเขียน