يُستخدم ككائن دالي لمقارنة زوجين من القيم في Map بناءً على مفاتيحهما.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a8fa08ca7764المصدرأسئلة مفتوحة (3)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يُستخدم ككائن دالي لمقارنة زوجين من القيم في Map بناءً على مفاتيحهما.
تُستخدم الفئة المساعدة ara::core::Map::value_compare ككائن دالي للمقارنة العلائقية بين زوجين من القيم في Map بناءً على مفاتيحهما باستخدام مسند المقارنة [SWS_CORE_01421] المغلف داخليًا. ويتم إنشاء النسخ بشكل محمي أساسًا بواسطة بنية Map الأصلية، بينما يقوم المستدعون بإجراء التقييم عبر معامل الاستدعاء operator()[SWS_CORE_01423]. ونظرًا لأن العمليات ليست آمنة من حيث الاستثناءات وفقًا للمواصفة، يجب على التعليمات البرمجية المستدعية مراعاة الاستثناءات المحتملة للمسند الأساسي.
السياق
توفر الفئة المساعدة ara::core::Map::value_compare في الوحدة core الخاصة بـ AUTOSAR Adaptive Platform كائنًا داليًا يمكن بمساعدته مقارنة عنصرين كاملين من نوع مفتاح-قيمة (value_type) لجدول ترابطي. ووفقًا للمواصفة، تستند الفئة إلى السلوك الراسخ لمكتبة C++ القياسية لـ [map]. وتتمثل المهمة المركزية في جعل المسند المعرّف لترتيب المفاتيح من النوع Compare قابلاً للتطبيق على أزواج قيم كاملة. ولتحقيق ذلك، تُغلف الفئة نسخة داخلية من هذا المسند في متغير العضو المحمي comp[SWS_CORE_01421]. وبهذه الطريقة، يتفاعل value_compare مباشرةً مع بنية البيانات الأصلية ara::core::Map ويضمن خارجيًا قدرة خوارزميات الفرز أو البحث على مقارنة أزواج القيم بشكل متسق بناءً على مفاتيحها.
دورة الحياة
يخضع إنشاء نسخ value_compare لقيود وصول صارمة: يتمتع المُنشئ value_compare(Compare c) بنطاق رؤية protected[SWS_CORE_01422]. تفسير: نظرًا لنطاق الرؤية المحمي هذا، فمن المحتمل أن يكون إنشاء نسخ جديدة مقتصرًا في المقام الأول على الفئة الحاوية ara::core::Map نفسها، بينما يحصل المستدعون العاديون على كائنات دالية جاهزة من Map. سؤال Q-f188cfa9cf627a11 (مفتوح) عند الإنشاء، يأخذ الكائن مسند المقارنة ويخزنه في المتغير المحمي comp[SWS_CORE_01421]. ولا توجد دورة حياة ذات انتقالات حالة معقدة؛ حيث تظل النسخة بعد إنشائها في حالة تنفيذ غير قابلة للتغيير. وبالنسبة للتشغيل المتزامن، يعني هذا أن عمليات وصول القراءة المتوازية عبر معامل الاستدعاء غير حرجة، طالما أن المسند المغلف Compare يعمل بدون حالة أو بشكل آمن عبر الخيوط (threadsicher).
مسار الاستخدام
يركز مسار الاستخدام العادي على التقييم المتكرر لأزواج القيم عبر معامل استدعاء الدالة operator()[SWS_CORE_01423]. تم الإعلان عن هذا المعامل كطريقة const ويقبل مرجعين لعناصر ثابتة من النوع value_type. تفسير: عند التنفيذ، يصل operator() إلى أجزاء المفتاح لزوجي القيم الممررين ويمررهما إلى المسند [SWS_CORE_01421] المخزن في comp، لإرجاع النتيجة العلائقية كقيمة منطقية. سؤال Q-207114486c204301 (مفتوح) ويوضح المخطط التالي هذا المسار القياسي:
يُستخدم هذا المسار عادةً في الخوارزميات التي يتعين عليها فحص عناصر Map أو اجتيازها بناءً على تسلسل فرزها، دون أن يضطر المستخدم إلى إلغاء إسناد المفاتيح يدويًا من أزواج القيم.
سيناريوهات الأخطاء
فيما يتعلق بالمتانة ومعالجة الاستثناءات، تجدر الإشارة إلى أنه لم يتم تحديد المُنشئ [SWS_CORE_01422] ولا معامل الاستدعاء operator()[SWS_CORE_01423] كآمنين من حيث الاستثناءات؛ فكلاهما مصنف صراحةً على أنه «not exception safe». تفسير: يعني هذا عمليًا أن الفئة لا تُغلف آليات خاصة لمعالجة الاستثناءات، وأن الاستثناءات التي يتم إطلاقها عند نسخ المسند المخصص Compare أو تنفيذه يتم نشرها مباشرةً إلى المستدعي. سؤال Q-427fd0afbba7bf9e (مفتوح) ولا تحدد المواصفة رموز أخطاء خاصة لهذه الفئة المساعدة. وبالتالي، فإن الشرط المسبق الأساسي للتشغيل الخالي من الأخطاء هو إمكانية إنشاء النسخ وتنفيذ المسند الممرر Compare بدون أخطاء، فضلًا عن صلاحية المراجع الممررة إلى operator() والمشيرة إلى value_type.
يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive Platform للإصدار R25-11.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 167c47c6c4cdالمصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
يقوم المنشئ [SWS_CORE_01422] للفئة المساعدة المتداخلة ara::core::Map::value_compare بتهيئة كائن مقارنة لعناصر القيم استنادًا إلى مسند مُمرر Compare c. ووفقًا للمواصفة، أُعلن عن مستوى الرؤية كـ protected؛ ولذلك لا يقوم المستخدمون بإنشاء نسخ مباشرةً في رمز التطبيق العادي، بل يحصلون عليها عادةً عبر دالة الأعضاء ara::core::Map::value_comp()[SWS_CORE_01489].
التقييم: يُستخدم المسند المخزن بعد ذلك للتقييم بواسطة operator()[SWS_CORE_01423]، لمقارنة عنصرين من النوع value_type استنادًا إلى مفاتيحهما.
تضمين الترويسة: يتم توفير الإعلان عبر ملف الترويسة #include "ara/core/map.h".
معالجة الأخطاء والقيود
تصنف المواصفة الدالة صراحةً على أنها not exception safe[SWS_CORE_01422]. لم يتم تحديد رموز أخطاء محددة أو رسائل DET أو DEM لهذا المنشئ. بالإضافة إلى ذلك، وبسبب مستوى الرؤية المحمي (protected)، لا يجوز للمستدعين إجراء إنشاء مباشر للنسخ خارج السياقات المشتقة.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى بيانات مواصفات AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني