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 بت للكتابة.