nl:: Weave:: Encoding:: BigEndian
यह नेमस्पेस इनके लिए फ़ंक्शन उपलब्ध कराता है:
खास जानकारी
- 16-, 32-, और 64-बिट टाइप के लिए बिग एंडियन बाइट की ऑर्डर की गई वैल्यू के आधार पर, होस्ट सिस्टम के मुकाबले बाइट रीऑर्डरिंग की जा रही है.
- यह आसान और बेहतर तरीके से मेमोरी-मैप किए गए ऐक्सेस का इस्तेमाल करता है. यह बिना अलाइनमेंट वाली जगह का हो सकता है. भले ही, यह बाइट रीऑर्डरिंग के साथ या उसके बिना, 8-, 16-, 32-, और 64-बिट बड़े एंडियन बाइट की ऑर्डर की गई क्वांटिटी के लिए हो. ये सब पॉइंटर मैनेजमेंट के साथ और उनके बिना भी हो सकते हैं.
बड़े एंडियन होस्ट सिस्टम पर, कोई असल बाइट रीऑर्डर नहीं होगा. दूसरे सिस्टम में, बाइट फिर से क्रम में लगाने की प्रोसेस, ज़रूरत के हिसाब से की जाती है.
फ़ंक्शन |
|
---|---|
Get16(const uint8_t *p)
|
uint16_t
दिए गए पॉइंटर पते से 16-बिट मान के लिए ऑर्डर किए गए बड़े एंडियन बाइट की एक, संभावित रूप से अन अलाइन की गई मेमोरी रीड करें. इसके बाद, ज़रूरत के हिसाब से बाइट फिर से क्रम में लगाएं, ताकि टारगेट सिस्टम वैल्यू को टारगेट सिस्टम बाइट के क्रम में रख सके.
|
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
दिए गए पॉइंटर पते से 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-बिट वैल्यू के लिए, बड़े एंडियन बाइट के लिए, ऑर्डर को अलाइन न कर पाने वाला एक मेमोरी रीड करें. इसके बाद, ज़रूरत के हिसाब से बाइट को फिर से क्रम में लगाएं, ताकि टारगेट सिस्टम वैल्यू को टारगेट सिस्टम बाइट के क्रम में रख सके.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए जाने वाले प्रॉडक्ट |
तय किए गए पॉइंटर पते पर, 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 )
दिए गए पॉइंटर पते से 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-बिट वैल्यू का एक, संभावित रूप से अन अलाइन किया गया मेमोरी लिखें. इसके बाद, ज़रूरत के मुताबिक बाइट को फिर से क्रम में लगाएं, ताकि टारगेट सिस्टम वैल्यू को बिग एंडियन बाइट के क्रम में रख सके.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|