nl:: Weave:: Encoding:: BigEndian
เนมสเปซนี้มีฟังก์ชันสำหรับรายการต่อไปนี้
สรุป
- เรียงลำดับไบต์ใหม่โดยสัมพันธ์กับระบบโฮสต์ตามค่าอันดับของบิ๊กเอนด์เดียนสำหรับประเภท 16, 32 และ 64 บิต
- การเข้าถึงที่ทำแมปกับหน่วยความจำที่เรียบง่ายและมีประสิทธิภาพ อาจอยู่ในตำแหน่งหน่วยความจำที่ไม่ตรงตำแหน่ง และมีหรือไม่มีการจัดเรียงไบต์ใหม่ ไปจนถึงจำนวนที่เรียงลำดับแบบบิ๊กเอนเดียนไบต์ 8, 16, 32 และ 64 บิต ทั้งกรณีที่มีและไม่มีการจัดการเคอร์เซอร์
ในระบบโฮสต์ Big Endian จะไม่มีการเรียงลำดับไบต์ใหม่ตามจริง สำหรับระบบอื่น การจัดเรียงไบต์ใหม่จะมีรูปแบบตามความเหมาะสม
ฟังก์ชัน |
|
---|---|
Get16(const uint8_t *p)
|
uint16_t
อ่านค่าหน่วยความจำสำหรับค่า 16 บิตที่เรียงลำดับแบบ Big Endian ไบต์ที่ไม่ตรงตำแหน่งจากที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็นเพื่อให้ระบบเป้าหมายใส่ค่าในการจัดลำดับไบต์ของระบบเป้าหมาย
|
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
อ่านค่าหน่วยความจำแบบ Big Endian Byte ที่เรียงลำดับ 16 บิตจากที่อยู่ตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็นเพื่อให้ระบบเป้าหมายวางค่าตามลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 16 บิต (2 ไบต์)
|
Read16(const uint8_t *& p)
|
uint16_t
อ่านค่าหน่วยความจำแบบ Big Endian Byte ที่เรียงลำดับ 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
อ่านค่าหน่วยความจำแบบ Big Endian Byte ที่เรียงลำดับ 64 บิตจากที่อยู่ตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็นเพื่อให้ระบบเป้าหมายวางค่าตามลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 64 บิต (8 ไบต์)
|
Read64(const uint8_t *& p)
|
uint64_t
อ่านค่าหน่วยความจำแบบ Big Endian Byte ที่เรียงลำดับ 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 บิตกับที่อยู่ของตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนวและเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าในการจัดลำดับบิ๊กเอนด์เดียน
|
ฟังก์ชัน
Get16
uint16_t Get16( const uint8_t *p )
อ่านค่าหน่วยความจำสำหรับค่า 16 บิตที่เรียงลำดับแบบ Big Endian ไบต์ที่ไม่ตรงตำแหน่งจากที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็นเพื่อให้ระบบเป้าหมายใส่ค่าในการจัดลำดับไบต์ของระบบเป้าหมาย
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
เรียงลำดับไบต์ค่า 16 บิตในที่อยู่ของตัวชี้ที่ระบุ หากจำเป็น
|
Get32
uint32_t Get32( const uint8_t *p )
อ่านค่าหน่วยความจำแบบบิ๊กเอนเดียนที่เรียงลำดับ 32 บิตจากที่อยู่ตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็นเพื่อให้ระบบเป้าหมายใส่ค่าในการจัดลำดับไบต์ของระบบเป้าหมาย
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
เรียงลำดับไบต์ค่า 32 บิตในที่อยู่ของตัวชี้ที่ระบุ หากจำเป็น
|
Get64
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 บิตที่ระบุ ซึ่งสันนิษฐานว่าอยู่ในการเรียงลำดับไบต์บิกเอนเดียนไปยังระบบเป้าหมาย (เช่น
โฮสต์) การจัดลำดับไบต์
ดังนั้น ในระบบเป้าหมายบิตเอนเดียน สิ่งนี้จะเป็นการดำเนินการที่ไม่เกี่ยวข้องกับระบบเป้าหมายขนาดใหญ่ โดยจะจัดเรียงใหม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
สลับลำดับไบต์ของค่าอินพุต (หากจำเป็น)
|
Put16
void Put16( uint8_t *p, uint16_t v )
เขียนหน่วยความจำสำหรับไบต์ของระบบเป้าหมายที่มีลำดับค่า 16 บิตกับที่อยู่ของตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว และเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าในการจัดลำดับบิ๊กเอนเดียน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
Put32
void Put32( uint8_t *p, uint32_t v )
เขียนหน่วยความจำสำหรับไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 32 บิตกับที่อยู่ของตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าในการจัดลำดับบิ๊กเอนเดียน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
Put64
void Put64( uint8_t *p, uint64_t v )
เขียนหน่วยความจำสำหรับไบต์ของระบบเป้าหมายที่มีลำดับค่า 64 บิตกับที่อยู่ของตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนวและเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าในการจัดลำดับบิ๊กเอนด์เดียน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
Read16
uint16_t Read16( uint8_t *& p )
อ่านค่าหน่วยความจำแบบ Big Endian Byte ที่เรียงลำดับ 16 บิตจากที่อยู่ตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็นเพื่อให้ระบบเป้าหมายวางค่าตามลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 16 บิต (2 ไบต์)
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
สลับลำดับไบต์ด้วยค่า 16 บิตในที่อยู่ของตัวชี้ที่ระบุ หากจำเป็น
|
Read16
uint16_t Read16( const uint8_t *& p )
อ่านค่าหน่วยความจำแบบ Big Endian Byte ที่เรียงลำดับ 16 บิตจากที่อยู่ตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็นเพื่อให้ระบบเป้าหมายวางค่าตามลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 16 บิต (2 ไบต์)
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
สลับลำดับไบต์ด้วยค่า 16 บิตในที่อยู่ของตัวชี้ที่ระบุ หากจำเป็น
|
Read32
uint32_t Read32( uint8_t *& p )
อ่านค่าหน่วยความจำแบบบิ๊กเอนด์เดียนที่เรียงลำดับ 32 บิตจากที่อยู่ตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าตามลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้อีก 32 บิต (4 ไบต์)
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
สลับลำดับไบต์ด้วยค่า 32 บิตในที่อยู่ของตัวชี้ที่ระบุ หากจำเป็น
|
Read32
uint32_t Read32( const uint8_t *& p )
อ่านค่าหน่วยความจำแบบบิ๊กเอนด์เดียนที่เรียงลำดับ 32 บิตจากที่อยู่ตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าตามลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้อีก 32 บิต (4 ไบต์)
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
สลับลำดับไบต์ด้วยค่า 32 บิตในที่อยู่ของตัวชี้ที่ระบุ หากจำเป็น
|
Read64
uint64_t Read64( uint8_t *& p )
อ่านค่าหน่วยความจำแบบ Big Endian Byte ที่เรียงลำดับ 64 บิตจากที่อยู่ตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็นเพื่อให้ระบบเป้าหมายวางค่าตามลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 64 บิต (8 ไบต์)
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
หากจำเป็น ค่า 64 บิตในที่อยู่ของตัวชี้ที่ระบุ จะมีการสลับลำดับไบต์
|
Read64
uint64_t Read64( const uint8_t *& p )
อ่านค่าหน่วยความจำแบบ Big Endian Byte ที่เรียงลำดับ 64 บิตจากที่อยู่ตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามความจำเป็นเพื่อให้ระบบเป้าหมายวางค่าตามลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 64 บิต (8 ไบต์)
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
หากจำเป็น ค่า 64 บิตในที่อยู่ของตัวชี้ที่ระบุ จะมีการสลับลำดับไบต์
|
Write16
void Write16( uint8_t *& p, uint16_t v )
เขียนหน่วยความจำสำหรับไบต์ของระบบเป้าหมายที่มีลำดับค่า 16 บิตกับที่อยู่ของตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว และเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าในการจัดลำดับบิ๊กเอนเดียน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
Write32
void Write32( uint8_t *& p, uint32_t v )
เขียนหน่วยความจำสำหรับไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 32 บิตกับที่อยู่ของตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนว ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าในการจัดลำดับบิ๊กเอนเดียน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
Write64
void Write64( uint8_t *& p, uint64_t v )
เขียนหน่วยความจำสำหรับไบต์ของระบบเป้าหมายที่มีลำดับค่า 64 บิตกับที่อยู่ของตัวชี้ที่ระบุ ซึ่งอาจไม่ได้ตรงแนวและเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าในการจัดลำดับบิ๊กเอนด์เดียน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|