يوفر تجريد حقل بتات ثابت الحجم ومتوافقًا مع المعايير وآمن الأنواع مع ضمانات Noexcept لصالح Adaptive Core.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ae7240ca6617المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يوفر تجريد حقل بتات ثابت الحجم ومتوافقًا مع المعايير وآمن الأنواع مع ضمانات Noexcept لصالح Adaptive Core.
يوفر قالب الفئة ara::core::Bitset تطبيقًا مكيفًا مع AUTOSAR Adaptive لـ std::bitset لتسلسلات البتات ذات الحجم الثابت [SWS_CORE_01741]. وهو يقدم عمليات شاملة لمعالجة البتات والروابط المنطقية والتحويلات المحسنة إلى أنواع الأعداد الصحيحة القياسية مع ضمانات noexcept صارمة [SWS_CORE_01738]. وتُبلغ التعديلات المعتمدة على الموضع عن الفهارس غير الصالحة عبر ara::core::Result بدلاً من استثناءات ++C، بينما تعالج التحويلات أخطاء الفيض بشكل حتمي. وبذلك تكون الفئة مناسبة على وجه الخصوص لوظائف وحدات التحكم الإلكترونية الفعالة في استخدام الموارد والمقاومة للأعطال.
السياق
توفر فئة القالب ara::core::Bitset داخل Adaptive Platform تطبيقًا لنوع معيار ++C المسمى std::bitset لتسلسلات البتات ذات الطول المحدد في وقت الترجمة N[SWS_CORE_01741]. وتُستخدم الفئة في منظومة AUTOSAR للتعامل عالي الأداء والآمن نوعيًا مع حقول البتات وأقنعة الحالة وسجلات الأعلام في وحدات التحكم الإلكترونية. وتتكامل بسلاسة في نظام الأنواع للوحدة core، من خلال دعم النوع الخاص بالمنصة ara::core::BasicString بدلاً من std::basic_string[SWS_CORE_01749]، [SWS_CORE_01751]. بالإضافة إلى ذلك، يوسع AUTOSAR الواجهة القياسية بدوال تحويل مخصصة إلى أنواع الأعداد الصحيحة غير الموقعة ذات العرض الثابت مثل std::uint8_t وstd::uint16_t وstd::uint32_t وstd::uint64_t[SWS_CORE_01736]، [SWS_CORE_01737]، [SWS_CORE_01738]، [SWS_CORE_01739].
دورة الحياة
يجري إنشاء المثيل بمرونة عبر عدة منشئات. يقوم المنشئ الافتراضي بتهيئة جميع بتات N كقيم صفرية ويُصرح عنه كـ constexpr وكذلك noexcept[SWS_CORE_01713]. وبدلاً من ذلك، يمكن إنشاء مثيل Bitset من قيمة قياسية من النوع unsigned long long[SWS_CORE_01719] أو نصيًا من ara::core::BasicString[SWS_CORE_01749] أو مؤشر سلسلة نصية منتهية بصفر const CharT*[SWS_CORE_01750]. ويتوفر منشئ النسخ ومنشئ النقل ويُعرفان كـ noexcept=default[SWS_CORE_01714]، [SWS_CORE_01716]. وكذلك تتوفر عوامل الإسناد المقابلة [SWS_CORE_01715]، [SWS_CORE_01717]. ويُحدد الهادم بأنه noexcept وآمن تفرعيًا [SWS_CORE_01718]. وفيما يتعلق بالتزامن، فإن دوال تحويل الأعداد الصحيحة آمنة تفرعيًا أيضًا [SWS_CORE_01736]، [SWS_CORE_01737]، بينما يجب مزامنة عمليات الوصول المعدِّلة على مثيل Bitset نفسه.
مسار الاستخدام
يتضمن مسار الاستخدام النموذجي إنشاء المثيل، يليه التلاعب بالبتات الفردية أو أقنعة البتات، ثم التقييم النهائي لحقل البتات أو تحويله:
التحويل: لمواصلة المعالجة، يمكن تحويل محتوى حقل البتات إلى أنواع رقمية ثابتة العرض، على سبيل المثال عبر to_uint32t[SWS_CORE_01738]، أو تصديره كسلسلة نصية بواسطة to_string[SWS_CORE_01751].
على عكس std::bitset، يستخدم ara::core::Bitset مفهومًا متسامحًا مع الأخطاء وحتميًا لمعالجة الأخطاء دون استثناءات (noexcept):
تجاوز النطاق عند الوصول الموضعي: يُستخدم نوع الإرجاع Result<Bitset<N>&> مع الدوال المعدِّلة set(pos)[SWS_CORE_01726] وreset(pos)[SWS_CORE_01728] وflip(pos)[SWS_CORE_01731]. وإذا كان pos خارج النطاق الصالح، يُبلغ عن IsoStdOutOfRangeViolation بدلاً من std::out_of_range. تفسير: يُرجح أن الاستخدام المتسق لـ ara::core::Result وnoexcept يهدف إلى الامتثال لمتطلبات عدم استخدام الاستثناءات الصارمة في المجالات الحرجة أمنيًا في Adaptive Platform. سؤال Q-322c53fff705bce6 (مفتوح) كما تشير دالة الفحص test(pos) عند وجود pos غير صالح إلى IsoStdOutOfRangeViolation[SWS_CORE_01743].
السلاسل النصية غير الصالحة: عند الإنشاء من ara::core::BasicString[SWS_CORE_01749]، يُطلق عند pos > size()IsoStdOutOfRangeViolation، وعند وجود محارف تخالف 0 أو 1 يُطلق IsoStdInvalidArgumentViolation (بدلاً من std::invalid_argument).
أمان استثناءات محدود: في حين أن معظم العمليات noexcept وآمنة من حيث الاستثناءات، فإن الإنشاء من مؤشرات const CharT*[SWS_CORE_01750] وكذلك التصدير بواسطة to_string[SWS_CORE_01751] مصنفة صراحة بأنها غير آمنة من حيث الاستثناءات (not exception safe).
يستند دليل الفئة هذا إلى مواصفة AUTOSAR Adaptive الإصدار R25-11 وقد أُنشئ آليًا.
except for the following deviations: 1. The function is noexcept 2. If pos does not correspond to a valid bit position, IsoStdOutOfRangeViolation is raised instead of std::out_of_range ≙ std::out_of_range
[AUTOSAR defined] not present in ISO-14882. Alias for ara::core::Bitset::to_ulong but explicitly using the std::uint32_t type from [SWS_APT_00028] ≙ std::uint32_t
[AUTOSAR defined] not present in ISO-14882. Alias for ara::core::Bitset::to_ullong but explicitly using the std::uint64_t type from [SWS_APT_00031] ≙ std::uint64_t
except for the following deviations: 1. Function is constexpr 2. The function is noexcept 3. If the integral value x corresponding to the bits in the bitset cannot be represented as the return type, IsoStdOverflowErrorViolation is raised instead of std:: overflow_error ≙ [bitset]
constexpr unsigned long long to_ullong () const noexcept;
except for the following deviations: 1. Function is constexpr 2. The function is noexcept 3. If the integral value x corresponding to the bits in the bitset cannot be represented as the return type, IsoStdOverflowErrorViolation is raised instead of std:: overflow_error ≙ [bitset]
constexpr unsigned long to_ulong () const noexcept;
As per corresponding usage in [bitset] except for the following deviations: 1. The function is noexcept 2. If (pos > size()), IsoStdOutOfRangeViolation is raised instead of std:: out_of_range 3. If any character is not 1 or 0, IsoStdInvalidArgumentViolation is raised instead of std::invalid_argument 4. Function arguments have been adapted to conform to ara::core::BasicString constructor parameters
As per corresponding usage in [bitset] except for the following deviations: 1. Function arguments have been adapted to conform to ara::core::BasicString constructor parameters
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 68eb943f5f65المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تنتمي الدالة العضو [SWS_CORE_01744] إلى الفئة ara::core::Bitset وتتوفر عبر ملف الترويسة #include "ara/core/bitset.h". تمتلك الدالة التوقيع bool all () const noexcept;، ولا تقبل أي معاملات، وتُرجع قيمة منطقية بشكل متزامن. ووفقًا للمواصفة، تستند الدلالات إلى الاستخدام المقابل في [bitset]؛ تفسير: من المحتمل أن تتحقق الطريقة مما إذا كانت جميع بتات المثيل معينة (تحمل القيمة true). سؤال Q-a4f0f8970bd2c9bb (مفتوح)
فيما يتعلق بمعالجة الأخطاء، أُعلنت الدالة كـ noexcept وحُددت بأنها آمنة ضد الاستثناءات (exception safe) [SWS_CORE_01744]. وبما أنه لا يتم الإبلاغ عن أي حالات خطأ ويضمن سير التنفيذ بدون أخطاء، فلا تجد رموز الخطأ من ara::core::CoreErrc أي تطبيق هنا.
تنطبق الشروط الحدية التالية على سياق الاستدعاء والتزامن:
أُعلنت العملية كـ const ولا تعدل حالة كائن ara::core::Bitset المستدعي [SWS_CORE_01744].
من المرجح أن يكون الوصول المتزامن للقراءة عبر خيوط متعددة مسموحًا به دون مزامنة، طالما لم يقم خيط آخر بتعديل نفس مساحة الذاكرة عن طريق الكتابة. سؤال Q-d9f1f92a120128b5 (مفتوح)
تم إنشاء هذا المحتوى بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR الإصدار R25-11.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 7dc0cee01033المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الدالة العضو any() الخاصة بـ ara::core::Bitset للاستعلام المتزامن عن حالة تعيين البتات المُدارة في طقم البتات (Bitset) [SWS_CORE_01745]. ووفقًا للمواصفة، يتبع السلوك الاستخدام المقابل لقالب فئة ISO-C++ [bitset][SWS_CORE_01745]. تفسير: تُرجع الدالة true إذا كان بت واحد على الأقل مضبوطًا، وfalse إذا كانت جميع البتات غير مضبوطة. سؤال Q-20c2aaf905d4a338 (مفتوح)
فيما يتعلق بالاستخدام وسياق التنفيذ وسلوك الأخطاء، تسري التحديدات التالية:
الاستدعاء والمعلمات: تُستدعى الدالة بدون معلمات على مثيل موجود تمت تهيئته مسبقًا عبر المنشئ على سبيل المثال [SWS_CORE_01749]. ويتم الاستدعاء بشكل متزامن ويُرجع نتيجة الفحص مباشرةً كـ bool[SWS_CORE_01745].
معالجة الأخطاء: تم التصريح عن الدالة كـ noexcept وتصنيفها على أنها آمنة من الاستثناءات (exception safe) [SWS_CORE_01745]. ولا يتم توليد رموز أخطاء أو رسائل DET/DEM؛ كما أن فشل العملية غير وارد في معيار AUTOSAR.
التزامن: نظرًا للمؤهل const، فإن الدالة لا تُعدل المثيل [SWS_CORE_01745]. ومن المفترض أن تكون عمليات القراءة المتزامنة على المثيل نفسه آمنة، بينما يجب مزامنة عمليات الكتابة المتنافسة من قِبل المستدعي. سؤال Q-34893675aa85baf1 (مفتوح)
ضمن سياق الوحدة النمطية لـ core، توفر any() وظيفة فحص أساسية لأطقم البتات، حيث تتكامل بسلاسة مع آليات التهيئة والتخزين الخاصة بـ ara::core::Bitset[SWS_CORE_01745]، [SWS_CORE_01749].
تم توليد إشعار الاستخدام هذا تلقائيًا استنادًا إلى مواصفة AUTOSAR Adaptive R25-11.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 4dcb196eeab8المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام والدلالات
تُستدعى الدالة العضو count بشكل متزامن وبدون معاملات على مثيل من ara::core::Bitset ([SWS_CORE_01740]). وهي مُعلنة في ملف الترويسة #include "ara/core/bitset.h" وتُرجع نتيجة العد كقيمة إرجاع من النوع std::size_t ([SWS_CORE_01740]). ويسترشد السلوك الوظيفي بالمرجع [bitset] ([SWS_CORE_01740])؛ وبالتالي من المرجح أن تتوافق القيمة مع العدد الإجمالي للبتات المعينة. سؤال Q-36c593b234f55695 (مفتوح)
معالجة الأخطاء والتزامن
حُددت الدالة كـ noexcept وتُعد exception safe ([SWS_CORE_01740]). ولا يتم إطلاق استثناءات أو إرجاع رموز خطأ، كما أن إرسال رسائل إلى DET أو DEM غير منصوص عليه لهذا العنصر. وبما أن count مُعلنة كدالة عضو ثابتة (const) ([SWS_CORE_01740])، فإن الاستدعاء لا يعدل حالة الكائن. وعليه، من المرجح أن تكون عمليات وصول القراءة المتوازية لنفس المثيل قابلة للتنفيذ بالتزامن، شريطة عدم حدوث عمليات كتابة متزامنة. سؤال Q-073bc3bbcb918763 (مفتوح)
التفاعل والتمايز
في مساحة الاسم ara::core، يجب فصل الدالة بوضوح عن العناصر الأخرى:
في ara::core::Map، تُستخدم count لتحديد المفاتيح الموجودة ([SWS_CORE_01494]، [SWS_CORE_01495])، ولكنها مصنفة كـ not exception safe.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 3295cd6e5b84المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تعكس الدالة العضو flip() للفئة ara::core::Bitset بشكل متزامن حالة جميع بتات النسخة وفقاً لسلوك [bitset][SWS_CORE_01730]. يتم توفير الدالة عبر ملف الترويسة #include "ara/core/bitset.h"، ولا تقبل أي معلمات وتعيد مرجع lvalue إلى الكائن المعدل (Bitset<N>&)، مما يتيح تسلسل العمليات [SWS_CORE_01730].
معالجة الأخطاء والأمان من الاستثناءات
تم التصريح عن الدالة كـ noexcept وحُددت كمواصفة على أنها آمنة من حيث الاستثناءات («exception safe») [SWS_CORE_01730]. لا يتم طرح استثناءات C++ ولا تُعاد رموز أخطاء؛ ومن ثم، فمن المرجح أن يتم التنفيذ دائماً دون أخطاء. سؤال Q-df762b6329a2c0d4 (مفتوح)
تفاعل
تحدد الوحدة النمطية core تنويعات ذات صلة لمعالجة البتات:
تُستخدم الطريقة المحملة بشكل زائد flip(std::size_t pos) للعكس المستهدف لبت فردي عند الفهرس pos[SWS_CORE_01731]. وبخلاف الشكل الخالي من المعلمات، فإنها تعيد Result<Bitset<N>&> وتشير إلى المواضع غير الصالحة عبر IsoStdOutOfRangeViolation[SWS_CORE_01731].
عبر الفئة المرجعية ara::core::Bitset<N>::reference، تتوفر الدالة العضو flip() لعكس بت فردي مشار إليه وإرجاع reference&[SWS_CORE_01712].
تم إنشاء ملاحظة الاستخدام هذه تلقائياً وتستند حصرياً إلى مواصفة AUTOSAR Adaptive R25-11.
As per corresponding usage in [bitset] except for the following deviations: 1. The function is noexcept 2. If pos does not correspond to a valid bit position, IsoStdOutOfRangeViolation is raised instead of std::out_of_range
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: cc8134eb8cb3المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تعكس الدالة العضو flip للفئة ara::core::Bitset بشكل متزامن حالة البت عند الموضع الممرر pos[SWS_CORE_01731]. وهي معرفة في ملف الترويسة #include "ara/core/bitset.h" وتسترشد بسلوك std::bitset::flip، ولكنها تظهر اختلافات وظيفية محددة [SWS_CORE_01731].
تم التصريح عن الدالة كـ noexcept وكذلك exception safe، وعند النجاح تعيد مرجعاً إلى الـ bitset المعدل داخل Result<Bitset<N>&>[SWS_CORE_01731]. وإذا كانت المعلمة pos لا تطابق موضع بت صالح، فسيتم إطلاق الانتهاك IsoStdOutOfRangeViolation بدلاً من استثناء C++ مثل std::out_of_range[SWS_CORE_01731].
فيما يتعلق بالتزامن، من المرجح أن الاستدعاءات المتزامنة على نفس نسخة bitset ليست آمنة لخيوط المعالجة نظراً لعدم توثيق التزامن، ويجب تنسيقها خارجياً. سؤال Q-de73bb65d6aab12c (مفتوح)
في الوحدة النمطية core، تُكمل الدالة عمليات أخرى ذات صلة: لعكس جميع بتات نسخة ما بشكل متزامن، يتوفر التحميل الزائد الخالي من المعلمات flip()[SWS_CORE_01730]، بينما تتوفر الطريقة ara::core::Bitset::reference::flip() لكائنات مراجع البتات [SWS_CORE_01712].
تم إنشاء ملاحظة الاستخدام هذه تلقائياً على أساس إصدار AUTOSAR Adaptive R25-11.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 08d4a9889ec9المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تُستخدم الدالة العضو none للفئة ara::core::Bitset للاستعلام عن حالة تعيين تسلسل البتات [SWS_CORE_01746]. تتطلب الدالة تضمين ملف الرأس ara/core/bitset.h ولها البصمة bool none () const noexcept;[SWS_CORE_01746]. ويتم الاستدعاء بشكل متزامن وبدون معلمات على مثيل موجود. تشير المواصفة فيما يتعلق بالسلوك إلى الاستخدام المقابل في [bitset][SWS_CORE_01746]؛ تفسير: يُتوقع أن تُرجع الدالة true إذا وفقط إذا لم يكن هناك أي بت مضبوط داخل تسلسل البتات (أي أن جميع البتات false)، وإلا فستُرجع false. سؤال Q-de8593251c7748d5 (مفتوح)
معالجة الأخطاء والأمان من الاستثناءات
لم يتم تعريف أي رموز أخطاء أو حالات خطأ خاصة لـ none. ووفقًا للمواصفة، تم التصريح عن الدالة كـ noexcept وهي مصنفة كآمنة من الاستثناءات (exception safe) [SWS_CORE_01746]. وبالتالي، لا تحدث أي استثناءات C++ في حالة الخطأ أو أثناء التنفيذ.
التزامن والقيود
نظرًا لأنه تم التصريح عن none كـ const[SWS_CORE_01746]، فإن استدعاء الدالة لا يُعدل الحالة الداخلية للكائن. ومن المرجح بالتالي أن تكون استدعاءات القراءة المتوازية على نفس كائن Bitset غير حرجة من حيث التزامن وقابلة لإعادة الدخول، ما لم تكن هناك تعديلات كتابة متزامنة على نفس المثيل. سؤال Q-cf92e9abf57e9678 (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بواسطة مساعد ذكاء اصطناعي وتستند إلى متطلبات المواصفة.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 0868e1227ad2المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُعيد دالة العضو reset() تعيين حالة مثيل من ara::core::Bitset وفقًا للمواصفة [SWS_CORE_01727]. يتم توفير الدالة عبر ملف الترويسة #include "ara/core/bitset.h" ولها التوقيع Bitset<N>& reset() noexcept;.
الاستخدام والدلالات
لا تستقبل الدالة أي معلمات وتعمل بشكل متزامن على الكائن المستدعي. استنادًا إلى الإشارة المحددة إلى الاستخدام المعتاد في [bitset]، يُرجَّح أن يؤدي الاستدعاء إلى إعادة تعيين جميع البتات المضمنة إلى false (أو 0) وإرجاع مرجع إلى مثيل Bitset نفسه (*this)، مما يتيح ربط الطرق (Method chaining). سؤال Q-89116316a65e0772 (مفتوح)
معالجة الأخطاء والأمان من حيث الاستثناءات
وفقًا لـ [SWS_CORE_01727]، تم الإعلان عن الدالة كـ noexcept ولها التصنيف «exception safe». وبما أنه لا يلزم التحقق من الفهرس على عكس التحميل الزائد ذي المعلمات، فلا تحدث أي حالات خطأ أو رموز أخطاء مع المتغير بدون معلمات.
التفاعل والتمايز
في نفس نطاق الصلاحية ara::core::Bitset، يوجد التحميل الزائد reset(std::size_t pos) وفقًا لـ [SWS_CORE_01728]. ويعيد هذا التحميل تعيين بت فردي على وجه التحديد، ولكنه يُرجع Result<Bitset<N>&> ويُبلغ عن IsoStdOutOfRangeViolation في حال كان pos غير صالح.
توجد دوال متطابقة الأسماء في الوحدة core أيضًا لـ ara::core::Optional وفقًا لـ [SWS_CORE_01136] وara::core::Optional<T&> وفقًا لـ [SWS_CORE_01165] من #include "ara/core/optional.h"، والتي تتجاهل القيمة المضمنة ولها نوع الإرجاع void.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويُستخدم كدليل توجيهي. وتُعتبر مواصفات معيار AUTOSAR فقط ملزمة قانونيًا.
As per corresponding usage in [bitset] except for the following deviations: 1. The function is noexcept 2. If pos does not correspond to a valid bit position, IsoStdOutOfRangeViolation is raised instead of std::out_of_range
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 6ee8bcd28b61المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُعيد دالة العضو reset للفئة ara::core::Bitset تعيين بت فردي عند الموضع المحدد pos بشكل متزامن إلى القيمة 0 [SWS_CORE_01728]. تتبع الدالة سلوك std::bitset، لكنها تُظهر اختلافين رئيسيين: تم الإعلان عنها كـ noexcept وتُرجع النتيجة في Result<Bitset<N>&> لتمثيل حالات الخطأ دون استثناءات C++ [SWS_CORE_01728].
معالجة الأخطاء
إذا كان الفهرس المُمرر pos لا يتوافق مع أي موضع بت صالح داخل Bitset، فسيتم إطلاق الانتهاك IsoStdOutOfRangeViolation بدلاً من std::out_of_range[SWS_CORE_01728]. ويتم توفير هذا الانتهاك في حالة حدوث خطأ كحالة خطأ في كائن Result المُرجع، بحيث تظل العملية آمنة من حيث الاستثناءات على الرغم من عدم صلاحية المعلمة [SWS_CORE_01728].
التفاعل والتمايز
في الوحدة core، يوجد لـ ara::core::Bitset بشكل تكميلي التحميل الزائد بدون معلمات reset()، والذي يمسح جميع بتات الحاوية دفعة واحدة ويُرجع مباشرة مرجعًا إلى الكائن [SWS_CORE_01727]. بالإضافة إلى ذلك، يحدد المتطلبان ذوا الصلة [SWS_CORE_01136] و[SWS_CORE_01165] طريقة بالاسم نفسه لـ ara::core::Optional، والتي تتجاهل القيمة المضمنة هناك.
التزامن
نظرًا لأن reset يُعدل الحالة الداخلية لـ Bitset، فمن المرجح ألا يكون الاستدعاء المتزامن على نفس المثيل بدون مزامنة خارجية آمنًا خيطياً (تفسير: تبني دلالات حاوية C++ المعتادة). سؤال Q-e2e1c041eadedf0f (مفتوح)
تم توليد هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R25-11.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 69ac29c94b17المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تضبط دالة العضو المتزامنة set() للفئة ara::core::Bitset جميع البتات المتضمنة في الكائن على القيمة true ([SWS_CORE_01725]). وهي تطابق في سلوكها طريقة عمل std::bitset من معيار ISO-C++ ومتاحة عبر الرأس ara/core/bitset.h ([SWS_CORE_01725]). يتم استدعاء الطريقة دون معلمات وتُرجع مرجع lvalue إلى فئة البتات المعدلة (Bitset<N>&) ([SWS_CORE_01725])، مما يتيح التسلسل المباشر لمزيد من الاستدعاءات على النسخة نفسها.
تم التصريح عن العملية كـ noexcept ولها الخاصية exception safe ([SWS_CORE_01725]). ونظراً لأنها تتكرر عبر جميع البتات أو تضبط الحالة الإجمالية، فلا تحدث أخطاء خارج النطاق على عكس عمليات الوصول القائمة على الموضع. لا تقدم المواصفة أي بيان حول أمان مؤشرات الترابط؛ تفسير: نظراً لأن حالة الكائن يتم تعديلها مباشرةً، فمن المحتمل ألا تكون عمليات الوصول المتوازية إلى نسخة Bitset نفسها آمنة من حيث التزامن أو مؤشرات الترابط دون حماية خارجية. سؤال Q-f8c1b5721f668193 (مفتوح)
ضمن التفاعل داخل الوحدة core، تُكمّل الدالة المتغير المُحمّل بصورة زائدة set(std::size_t, bool) ([SWS_CORE_01726]). وفي حين تضمن النسخة الخالية من المعلمات بنجاح ملء الحقل بالكامل، تُعدّل النسخة ذات المعلمات بتحديدٍ بتًا فرديًا، وتُرجع النوع Result<Bitset<N>&>، وتشير عبر IsoStdOutOfRangeViolation في حال تمرير فهرس موضع غير صالح ([SWS_CORE_01726]).
تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR Adaptive للإصدار R25-11 وقد تم إنشاؤها آليًا.
As per corresponding usage in [bitset] except for the following deviations: 1. The function is noexcept 2. If pos does not correspond to a valid bit position, IsoStdOutOfRangeViolation is raised instead of std::out_of_range
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 78b604750828المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُعدّل الدالة العضو set للفئة ara::core::Bitset البت عند الموضع المحدد pos إلى القيمة val وفقًا لـ [SWS_CORE_01726]. تم التصريح عن الدالة في ملف الترويسة #include "ara/core/bitset.h" وتعمل بشكل متزامن وآمن من حيث الاستثناءات.
بالمقارنة مع السلوك القياسي لـ std::bitset، تظهر الدالة انحرافين جوهريين ([SWS_CORE_01726]):
تم التصريح عن الدالة كـ noexcept ولا تطلق استثناءات C++.
إذا كان pos لا يطابق موضع بت صالحًا، فسيتم إطلاق IsoStdOutOfRangeViolation بدلاً من std::out_of_range.
كقيمة إرجاع، يتم تقديم Result<Bitset<N>&> ([SWS_CORE_01726]). وفي حالة النجاح، يحتوي Result على مرجع إلى كائن bitset المُعدّل. وإذا كان pos خارج النطاق الصالح، فينقل Result انتهاك الخطأ المقابل.
على عكس المتغير الخالي من المعلمات set() ([SWS_CORE_01725])، الذي يضبط كافة البتات ويُرجع Bitset<N>& مباشرةً، يتطلب هذا التحميل الزائد القائم على الموضع تقييم كائن Result للتعامل مع أخطاء النطاق ([SWS_CORE_01726]).
تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى مواصفة AUTOSAR R25-11.
As per corresponding usage in [bitset] except for the following deviations: 1. The function is noexcept 2. If pos does not correspond to a valid bit position, IsoStdOutOfRangeViolation is raised instead of std::out_of_range
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d1ea13b75993المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تتحقق الدالة العضو المتزامنة test للفئة ara::core::Bitset من حالة البت عند الموضع الممرر pos وفقًا لـ [SWS_CORE_01743]. ويتم تمرير موضع البت المطلوب pos من النوع std::size_t كمعامل استدعاء. وتُرجع الدالة بشكل متزامن قيمة من النوع bool، حيث يشير true إلى أن البت معين، وfalse إلى أنه غير معين. ولدمج الدالة واستخدامها في الوحدة النمطية Core لمنصة Adaptive، يجب تضمين ملف الترويسة ara/core/bitset.h[SWS_CORE_01743].
معالجة الأخطاء والانحرافات
يتبع السلوك الوظيفي عمومًا دلالات std::bitset، ولكنه يُظهر اختلافين رئيسيين خاصين بالنظام [SWS_CORE_01743]:
أُعلن عن التوقيع كـ noexcept ويضمن أمانًا تامًا ضد الاستثناءات (exception safe) [SWS_CORE_01743].
إذا كان موضع البت pos لا يتطابق مع أي موضع بت صالح داخل الكائن، فسيتم إطلاق الانتهاك IsoStdOutOfRangeViolation بدلاً من استثناء من النوع std::out_of_range[SWS_CORE_01743]. ويسترشد وصفه بوصف std::out_of_range[SWS_CORE_01743].
التزامن والقيود
نظرًا لأن الدالة محددة كـ const، فإنها لا تعدل المثيل. وبالتالي، من المرجح أن تكون عمليات وصول القراءة المتزامنة المتعددة لنفس مثيل Bitset قابلة للتنفيذ في التشغيل العادي دون تعارض في البيانات (تفسير). سؤال Q-585dbdfefac63391 (مفتوح) وإذا حدثت تعديلات كتابة على نفس المثيل في نفس الوقت، فمن المحتمل أن تكون هناك حاجة إلى مزامنة خارجية بواسطة المتصل.
تم توليد هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R25-11.
As per corresponding usage in [bitset] except for the following deviations: 1. Template arguments have been adapted to ara::core::BasicString in place of std:: basic_string
[AUTOSAR defined] not present in ISO-14882. Converts the contents of the bitset to a std:: uint16_t from [SWS_APT_00025]
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 6284644210b2المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تحول الدالة العضو to_uint16t للفئة ara::core::Bitset محتوى الـ Bitset إلى قيمة عددية صحيحة من النوع std::uint16_t ([SWS_CORE_01737]، [SWS_APT_00025]). وهي تمثل امتدادًا خاصًا بـ AUTOSAR وغير وارد في معيار ISO C++ المعيار ISO-14882 ([SWS_CORE_01737]). ويتوفر الاستدعاء المتزامن عبر ملف الترويسة ara/core/bitset.h ([SWS_CORE_01737]).
في القيمة المُرجعة المولدة، يقابل البت الأول من الـ Bitset البت الأقل أهمية (least significant bit) والبت الأخير يقابل البت الأكثر أهمية (most significant bit) للعدد ([SWS_CORE_01737]). ونظرًا لأن الطريقة محددة كـ constexpr، فيمكن أيضًا تقييمها في وقت الترجمة على مثيلات ثابتة ([SWS_CORE_01737]).
حُددت العملية كـ thread-safe وكـ exception safe ([SWS_CORE_01737]). وإذا تعذر تمثيل قيمة البت ضمن نطاق قيم std::uint16_t، فإن IsoStdOverflowErrorViolation يكون قائمًا ([SWS_CORE_01737]). تفسير: بسبب الإعلان noexcept، من المرجح ألا يتم الإبلاغ عن هذا الانتهاك عبر استثناءات C++ العادية، بل سيؤدي إلى المعالجة عبر آليات خاصة بالمنصة للانتهاكات (Violations). سؤال Q-785057e36fb7e434 (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا وتستند إلى مواصفة AUTOSAR الإصدار R25-11.
IsoStdOverflowEr- If the integral value x corresponding to the bits in the bitset cannot rorViolation be represented as the return type
Rückgabewert
Typ
Beschreibung
std::uint16_t
The bits in the bitset, whereby the first bit of the bitset corresponds to the least significant bit of the returned number and the last bit corresponds to the most significant bit
Request a governed re-review of this record. The record is not changed immediately.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a8e87f48809eالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام والدلالات
الدالة to_uint32t هي دالة عضو متزامنة وخالية من المعلمات للفئة ara::core::Bitset، وتُتاح عبر ملف الترويسة ara/core/bitset.h[SWS_CORE_01738]. وهي تُحوّل بتات نسخة bitset إلى قيمة عددية صحيحة غير موقعة بعرض 32 بت من النوع std::uint32_t[SWS_CORE_01738]. الدالة غير مضمنة في ISO-14882، بل تم تعريفها كاسم مستعار خاص بـ AUTOSAR لـ ara::core::Bitset::to_ulong، وتستخدم صراحةً نوع البيانات std::uint32_t من [SWS_APT_00028][SWS_CORE_01738]. وعند تعيين تسلسل البتات، يطابق البت الأول من bitset البت الأقل أهمية (least significant bit) لقيمة الإرجاع، ويطابق البت الأخير البت الأكثر أهمية (most significant bit) [SWS_CORE_01738].
معالجة الأخطاء والشروط الحدية
بالنسبة لحالة الخطأ، تحدد المواصفة الانتهاك IsoStdOverflowErrorViolation، والذي يحدث عندما يتعذر تمثيل القيمة العددية الصحيحة المقابلة للبتات المضبوطة ضمن نطاق قيم نوع الإرجاع [SWS_CORE_01738].
التزامن وسياق التنفيذ
تم التصريح عن الدالة بـ constexpr وnoexcept[SWS_CORE_01738]. وفيما يتعلق بسلامة التنفيذ، تم تحديدها على أنها آمنة خيطيًا (thread-safe) وكذلك آمنة من حيث الاستثناءات (exception safe) [SWS_CORE_01738].
تم توليد ملاحظة الاستخدام هذه تلقائياً بناءً على المواصفة.
IsoStdOverflowEr- If the integral value x corresponding to the bits in the bitset cannot rorViolation be represented as the return type
Rückgabewert
Typ
Beschreibung
std::uint32_t
The bits in the bitset, whereby the first bit of the bitset corresponds to the least significant bit of the returned number and the last bit corresponds to the most significant bit
Request a governed re-review of this record. The record is not changed immediately.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 305531790779المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تُحوّل الدالة العضو to_uint64t للفئة ara::core::Bitset البتات المضمنة في bitset بشكل متزامن إلى قيمة عددية صحيحة من النوع std::uint64_t ([SWS_CORE_01739]). تمثل العملية توسعة خاصة بـ AUTOSAR وغير معرّفة في ISO-14882 ([SWS_CORE_01739]). وهي تعمل كاسم مستعار للدالة ara::core::Bitset::to_ullong، مع استخدام النوع std::uint64_t بشكل إلزامي وصريح وفقًا لـ [SWS_APT_00031] ([SWS_CORE_01739]). يتم توفير التصريح عبر ملف الترويسة #include "ara/core/bitset.h" ([SWS_CORE_01739]).
بالنسبة للتعيين البتي لقيمة الإرجاع، فإن البت الأول من bitset يطابق البت الأقل أهمية (least significant bit) للقيمة الناتجة، بينما يُعيّن البت الأخير إلى البت الأكثر أهمية (most significant bit) ([SWS_CORE_01739]). وبفضل التوصيف كـ constexpr، يمكن أن يتم التقييم في وقت التشغيل وكذلك في وقت الترجمة ضمن تعبيرات ثابتة ([SWS_CORE_01739]).
معالجة الأخطاء والتزامن
فيما يتعلق بسلامة التنفيذ، تم التصريح عن الدالة بـ noexcept، وتصنيفها على أنها آمنة من حيث الاستثناءات (exception safe)، ويمكن استدعاؤها بأمان خيطي (thread-safe) دون قيود ([SWS_CORE_01739]). وإذا تعذر تمثيل القيمة العددية الصحيحة المقابلة للبتات في النوع المستهدف، فإن حالة الخطأ IsoStdOverflowErrorViolation تكون متحققة ([SWS_CORE_01739]). تلبي الواجهة المتطلب الأعلى [RS_AP_00130].
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بناءً على مواصفات AUTOSAR.
IsoStdOverflowEr- If the integral value x corresponding to the bits in the bitset cannot rorViolation be represented as the return type
Rückgabewert
Typ
Beschreibung
std::uint64_t
The bits in the bitset, whereby the first bit of the bitset corresponds to the least significant bit of the returned number and the last bit corresponds to the most significant bit
Request a governed re-review of this record. The record is not changed immediately.
[AUTOSAR defined] not present in ISO-14882. Converts the contents of the bitset to a std:: uint8_t from [SWS_APT_00022]
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9502dfbaed0eالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تحول الدالة العضو to_uint8t للفئة ara::core::Bitset محتوى Bitset المخزن بشكل متزامن إلى قيمة عددية صحيحة غير موقعة بحجم 8 بت من النوع std::uint8_t وفقًا لـ [SWS_CORE_01736] و[SWS_APT_00022]. ويمثل ذلك امتدادًا وظيفيًا خاصًا بـ AUTOSAR لا وجود له في المعيار ISO-14882 [SWS_CORE_01736]. تتوفر الدالة عبر ملف الترويسة ara/core/bitset.h، وهي بدون معاملات ومُعلنة كـ constexpr وكـ noexcept[SWS_CORE_01736]. ويقابل البت الأول من تسلسل البتات البت الأقل أهمية (LSB) والبت الأخير يقابل البت الأكثر أهمية (MSB) للقيمة المُرجعة [SWS_CORE_01736].
معالجة الأخطاء
إذا تعذر تمثيل القيمة العددية الصحيحة المقابلة للبتات في الـ Bitset ضمن النوع الهدف std::uint8_t، فإن الانتهاك IsoStdOverflowErrorViolation يكون قائمًا [SWS_CORE_01736]. ورغم الإعلان noexcept، فقد حُددت الدالة فيما يتعلق بأمان الاستثناءات كـ exception safe[SWS_CORE_01736].
التزامن والتفاعل
باعتبارها دالة عضو ثابتة، أُعلنت to_uint8t صراحةً كـ thread-safe[SWS_CORE_01736]، بحيث تكون عمليات وصول القراءة المتوازية من خيوط متعددة لنفس المثيل آمنة. ويسترشد تمثيل النوع الهدف بالتحديد الوارد في [SWS_APT_00022].
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفة AUTOSAR Adaptive الإصدار R25-11.
IsoStdOverflowEr- If the integral value x corresponding to the bits in the bitset cannot rorViolation be represented as the return type
Rückgabewert
Typ
Beschreibung
std::uint8_t
The bits in the bitset, whereby the first bit of the bitset corresponds to the least significant bit of the returned number and the last bit corresponds to the most significant bit
Request a governed re-review of this record. The record is not changed immediately.
constexpr unsigned long long to_ullong () const noexcept;
As per corresponding usage in [bitset] except for the following deviations: 1. Function is constexpr 2. The function is noexcept 3. If the integral value x corresponding to the bits in the bitset cannot be represented as the return type, IsoStdOverflowErrorViolation is raised instead of std:: overflow_error
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 80c15d0568edالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تحول الدالة العضو to_ullong للفئة ara::core::Bitset تسلسل البتات المخزن بشكل متزامن إلى قيمة عددية صحيحة من النوع unsigned long long[SWS_CORE_01735]. وهي مُعرفة في ملف الترويسة #include "ara/core/bitset.h" ومُعلنة كـ constexpr وكـ noexcept مقارنة بمعيار ISO std::bitset[SWS_CORE_01735].
فيما يخص معالجة الأخطاء وسلوك الاستثناءات، تنطبق القواعد التالية:
معالجة الطفحان: إذا تعذر تمثيل القيمة العددية الصحيحة الممثلة بالبتات المعينة في نوع الإرجاع، فسيتم إطلاق الانتهاك IsoStdOverflowErrorViolation بدلاً من استثناء std::overflow_error[SWS_CORE_01735].
أمان الاستثناءات: صُنفت الدالة بأنها exception safe، ولا تطلق استثناءات C++ نظرًا لمواصفة noexcept[SWS_CORE_01735].
بالتضافر مع واجهات أخرى، توفر AUTOSAR Adaptive مع to_uint64t بديلاً محدد النوع يعمل كاسم مستعار مباشر لـ to_ullong، ولكنه يُرجع صراحةً نوع العرض الثابت std::uint64_t[SWS_CORE_01739]. وفي كلتا الدالتين، يقابل البت الأول من الـ Bitset البت الأقل أهمية (LSB) والبت الأخير يقابل البت الأكثر أهمية (MSB) للقيمة الرقمية الناتجة [SWS_CORE_01739]. وبما أن to_ullong دالة عضو ثابتة وأن المكافئ الوظيفي محدد بأنه thread-safe، فمن المرجح أن يكون استدعاء القراءة المتزامن على نفس المثيل آمنًا خيطيًا أيضًا [SWS_CORE_01739]. سؤال Q-075766fabc193ce8 (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا وهي تستند إلى حالة مواصفات AUTOSAR Adaptive R25-11.
constexpr unsigned long to_ulong () const noexcept;
As per corresponding usage in [bitset] except for the following deviations: 1. Function is constexpr 2. The function is noexcept 3. If the integral value x corresponding to the bits in the bitset cannot be represented as the return type, IsoStdOverflowErrorViolation is raised instead of std:: overflow_error
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 58ed0033ea8eالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تحول الدالة العضو ara::core::Bitset::to_ulong البتات المعينة لمثيل Bitset بشكل متزامن إلى قيمة عددية صحيحة من النوع unsigned long[SWS_CORE_01734]. وتتطلب الدالة ملف الترويسة ara/core/bitset.h وتنتمي إلى نطاق الفئة ara::core::Bitset[SWS_CORE_01734]. ومن خلال الإعلان بالتوقيع constexpr unsigned long to_ulong() const noexcept;، يمكن أن يتم التقييم في وقت التشغيل وأيضًا أثناء وقت الترجمة في التعبيرات الثابتة [SWS_CORE_01734].
تختلف الدالة بشكل جوهري عن معيار ISO std::bitset في سلوك الخطأ: إذا تعذر تمثيل القيمة العددية الصحيحة المقابلة للبتات في نوع الإرجاع unsigned long، فسيتم إطلاق IsoStdOverflowErrorViolation بدلاً من استثناء من النوع std::overflow_error[SWS_CORE_01734]. وبصرف النظر عن شرط الانتهاك هذا، فقد أُعلنت الدالة كـ noexcept وتُعد رسميًا آمنة ضد الاستثناءات (exception safe) [SWS_CORE_01734].
بالتضافر مع دوال تحويل أخرى، توفر AUTOSAR Adaptive مع to_uint32t نظيرًا مباشرًا يعمل كاسم مستعار لـ to_ulong، ولكنه يُرجع std::uint32_t بنوع محدد بدقة [SWS_CORE_01738]. وفيما يتعلق بالتزامن، من المرجح أن تكون الطريقة آمنة خيطيًا عند وصول القراءة المتوازي إلى نفس الـ Bitset (تفسير)، نظرًا لأنها مُعرفة كـ const ولأن المتطلب المقابل to_uint32t قد حُدد صراحةً بأنه thread-safe [SWS_CORE_01738]. سؤال Q-59f95b86801a697d (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بناءً على مواصفة AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني