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