يتيح الوصول الآمن مؤشريًا والمخصص للقراءة فقط إلى عناصر مصفوفة لكائن بيانات تشخيص SOVD.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 46670b91e1adالمصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يتيح الوصول الآمن مؤشريًا والمخصص للقراءة فقط إلى عناصر مصفوفة لكائن بيانات تشخيص SOVD.
يوفر الصنف ara::diag::DiagnosticSovdArrayContentElementDataConstView واجهة عرض للقراءة فقط على DiagnosticSovdContentElementData من النوع مصفوفة للاستعلام التشخيصي الفعال [SWS_DM_02248]. تتحقق التطبيقات أولًا باستخدام HasError() من حالة السلامة، ثم تصل بعد ذلك إما عشوائيًا عبر operator[] أو تكراريًا عبر CBegin() وCEnd() إلى عناصر المصفوفة [SWS_DM_02253]. جميع العمليات آمنة مؤشريًا وكذلك آمنة من الاستثناءات (noexcept)، ولكنها تفترض استمرار صلاحية العنصر الأساسي المشار إليه.
السياق
يوفر الصنف ara::diag::DiagnosticSovdArrayContentElementDataConstView واجهة عرض للقراءة فقط (const view) على عنصر بيانات تشخيص من النوع مصفوفة ضمن بنية تشخيص Adaptive AUTOSAR لـ SOVD (Service-Oriented Vehicle Diagnostics) [SWS_DM_02248] (AUTOSAR_AP_SWS_Diagnostics §8.60.3 «Class: DiagnosticSovdArrayContentElementDataConstView»). وهو يتيح وصولًا متحكمًا فيه للقراءة إلى العناصر المتسلسلة لمحتوى تشخيصي، دون الحاجة إلى نسخ المخزن المؤقت للبيانات الأساسية.
تشمل أطراف التفاعل الأساسية للصنف ما يلي:
تطبيق التشخيص الطالب، الذي يقيّم بيانات المصفوفة،
عنصر DiagnosticSovdContentElementData المشار إليه، الذي يخزن عناصر المصفوفة الفعلية والذي يُشار إليه عند الوصول العشوائي عبر [SWS_DM_02253]،
النوع المساعد DiagnosticSovdArrayContentElementDataConstIterator، الذي يتم إنشاؤه لإجراء التكرارات المتوافقة مع المعايير على عناصر المصفوفة [SWS_DM_02254].
الصنف متاح عبر ملف الترويسة #include "ara/diag/diagnostic_sovd_content_element_data.h"[SWS_DM_02248]. وبصفته صنف عرض بحت، فإنه لا يمتلك ملكية بيانات المصفوفة الفعلية. تفسير: ترتبط دورة حياة مثيل واجهة العرض بصلاحية DiagnosticSovdContentElementData الأساسي؛ ويجب أن يظل كائن البيانات في الذاكرة طوال فترة استخدام واجهة العرض. سؤال Q-1a3079bdd09b4ddd (مفتوح)
فيما يتعلق بالتزامن، تم التصريح صراحةً عن جميع الدوال الأعضاء في الفئة بأنها آمنة خيطيًا [SWS_DM_02250]، [SWS_DM_02253]. وبالتالي يمكن لخيوط متعددة الوصول للقراءة في آنٍ واحد إلى نفس نسخة العرض (تفسير: طالما أن كائن البيانات الأساسي لا يتم تعديله بالتزامن من خلال عمليات كتابة). سؤال Q-61e5fa3990052e70 (مفتوح) بالإضافة إلى ذلك، تضمن جميع الدوال أمانًا تامًا من الاستثناءات (exception safe) ومحددة دون استثناء بـ noexcept[SWS_DM_02249]، [SWS_DM_02251]. ونظرًا لأنها عبارة عن عرض غير قابل للتعديل، فلا تُظهر الفئة أي انتقالات داخلية للحالة أو مراحل دورة حياة معقدة.
مسار الاستخدام
ينقسم التسلسل القياسي لاستخدام بيانات المصفوفة إلى فحص السلامة، والاستعلام عن الأبعاد، واستخراج البيانات:
فحص السلامة: قبل الوصول، ينبغي للتطبيق التحقق عبر HasError() مما إذا كان عنصر المحتوى متاحًا وخاليًا من الأخطاء [SWS_DM_02249].
الوصول إلى البيانات: تتوفر طريقتان للوصول إلى عناصر المصفوفة:
الوصول العشوائي عبر الفهرس: عبر operator[](std::size_t index) يتم طلب مرجع إلى العنصر الهدف، ومغلفًا في ara::core::Result<std::reference_wrapper<DiagnosticSovdContentElementData const>>[SWS_DM_02253].
تتخلى الفئة عن استثناءات C++ وتبلغ عن الأخطاء الوظيفية عبر ara::core::Result:
محتوى بيانات معيب: إذا كان عنصر المحتوى يحتوي على بيانات غير صالحة، فلا يعيد HasError() نتيجة نجاح فارغة، بل رمز خطأ من النوع ara::diag::DiagSovdErrc[SWS_DM_02249].
تعارض في النوع عند الوصول بالفهرس: يتطلب operator[] إلزاميًا أن يكون العنصر المشار إليه من النوع ArrayContentElementData بالفعل [SWS_DM_02253]. إذا لم يكن الأمر كذلك، تفشل الاستدعاء ويعيد كائن خطأ مطابقًا في Result بدلاً من المرجع.
حدود الفهرس: نظرًا لأنه لا يجوز استدعاء operator[] إلا ضمن النطاق الصالح، فينبغي للمستدعين التأكد مسبقًا عبر Size()[SWS_DM_02250] أو Empty()[SWS_DM_02252] من وجود الفهرس المطلوب.
يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني