DEENESPTFRRUARHIKOZHNL

بنية std::hash< ara::core::Monostate >

[SWS_CORE_01670]

template <> struct hash< ara::core::Monostate > {...};

Specialization of std::hash (hashing function for ara::core::Monostate)

Header-Datei#include "ara/core/variant.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace std

دليل المستخدممولَّد بالذكاء الاصطناعي

يتيح حساب قيمة تجزئة للحالات الفارغة للاستخدام في حاويات التجزئة الترابطية.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 519ee200bb62 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يتيح حساب قيمة تجزئة للحالات الفارغة للاستخدام في حاويات التجزئة الترابطية.

يوفر التخصيص std::hash<ara::core::Monostate> كائن دالة متوافقاً مع المعايير لحساب قيم التجزئة لـ ara::core::Monostate [SWS_CORE_01671]. وعبر معامل الاستدعاء operator()، تستقبل البنية مرجعاً ثابتاً إلى كائن Monostate وتُرجع قيمة التجزئة المقترنة كـ size_t [SWS_CORE_01671]. تفسير: نظراً لأن كائن Monostate لا يمتلك حالة داخلية، يُرجح أن يتم تحديد قيمة موحدة وحتمية لكل نسخة. سؤال (مفتوح) وكشرط هامشي مركزي، تم تحديد العملية كـ noexcept وكذلك آمنة من الاستثناءات، وتستبعد أخطاء وقت التشغيل تماماً.

السياق

يمثل تخصيص القالب std::hash<ara::core::Monostate> حلقة الوصل الوظيفية بين النوع الأساسي لـ AUTOSAR Adaptive ara::core::Monostate والبنية التحتية القياسية للتجزئة [SWS_CORE_01671]. داخل الوحدة core، يُستخدم ara::core::Monostate لتمثيل حالة فارغة، على سبيل المثال كنوع بديل في المتغيرات. ولإمكانية استخدام مثل هذه الأنواع بسلاسة في حاويات التجزئة الترابطية أو خوارزميات التجزئة العامة، تحدد المواصفة تخصيصاً صريحاً لفئة دال المرجع القياسية std::hash [SWS_CORE_01671].

يتم توفير البنية عبر ملف الترويسة ara/core/variant.h [SWS_CORE_01671]. وبوصفه كائن دالة تجزئة، يتفاعل التخصيص في المقام الأول مع تطبيقات الحاويات العامة مثل جداول التجزئة وكذلك مع نسخ من ara::core::Monostate. ومن خلال الالتزام باتفاقيات الواجهة الخاصة بمكتبة C++ القياسية، فإنه يعمل كمحول يضمن الوصول الموحد إلى قيم التجزئة حتى للمكونات عديمة الحالة [SWS_CORE_01671].

دورة الحياة

تم تصميم البنية std::hash<ara::core::Monostate> ككائن دالة نظامي [SWS_CORE_01671]. ونظراً لأنها لا تتطلب بيانات خاصة بالنسخة لحساب قيمة التجزئة، فإنها لا تمتلك حالة متغيرة خاصة بها. ولا يتطلب إنشاء وتدمير نسخ التخصيص أي ترتيبات خاصة ولا يسبب أي عبء للذاكرة الديناميكية.

فيما يتعلق بالتزامن وعلاقة الملكية، فإن كائن الدالة عديم الحالة تماماً. تم الإعلان عن معامل استدعاء الدالة operator() كـ const [SWS_CORE_01671]. وهذا يعني أنه يمكن استخدام النسخة نفسها بأمان وبالتزامن من قِبل سياقات تنفيذ متعددة أو خيوط بشكل متوازٍ. ولا توجد مطالبات ملكية حصرية لكائنات Monostate الممررة، حيث تتم قراءتها فقط عبر مرجع ثابت [SWS_CORE_01671].

مسار الاستخدام

يبدأ مسار الاستخدام النموذجي بتضمين ملف الترويسة ara/core/variant.h [SWS_CORE_01671] في وحدة الترجمة المعنية. وبمجرد تضمين ملف الترويسة، يصبح التخصيص متاحاً تلقائياً في فضاء الأسماء std ويتم حله بواسطة هياكل البيانات المعتمدة على التجزئة عند الحاجة.

يتم التنفيذ الفعلي عبر معامل استدعاء الدالة المحمّل بشكل زائد operator()، والذي يستقبل مرجعاً ثابتاً إلى كائن ara::core::Monostate [SWS_CORE_01671]: size_t operator() (ara::core::Monostate const &v) const noexcept; [SWS_CORE_01671]. وكنتيجة، يُرجع الاستدعاء قيمة تجزئة رقمية من النوع size_t [SWS_CORE_01671]. تفسير: بما أن ara::core::Monostate بحكم تعريفه لا يحمل حالة متغيرة، يُرجح أن تحسب الدالة قيمة تجزئة متطابقة وحتمية لجميع النسخ الممررة. سؤال Q-a9e7ab0092428d3c (مفتوح) ومن الناحية العملية، يتم هذا الاستدعاء غالباً بشكل شفاف في إطار عمليات البحث أو الإدراج لهياكل البيانات ذات المستوى الأعلى.

سيناريوهات الأخطاء

تحدد المواصفة للطريقة operator() سلوكاً صارماً فيما يتعلق بالاستثناءات والمتانة: تم الإعلان عن المعامل باستخدام المحدد noexcept وتم تصنيفه صراحةً بأنه آمن من الاستثناءات (exception safe) [SWS_CORE_01671]. ويضمن ذلك عدم إطلاق استثناءات C++ تحت أي ظرف من الظروف أثناء عملية التجزئة.

لا توجد رموز خطأ محددة، أو قيم إرجاع للإشارة إلى الأخطاء، أو شروط مسبقة بخلاف مرجع كائن صالح نحوياً [SWS_CORE_01671]. وبالتالي، لا يمكن للاستدعاء أن يفشل أبداً. والشرط اللاحق للاستدعاء هو دائماً التوفير الناجح لقيمة تجزئة صحيحة من النوع size_t، بحيث لا يضطر المستدعون إلى تنفيذ مسارات بديلة أو مسارات لمعالجة الأخطاء [SWS_CORE_01671].

يستند دليل الفئات هذا إلى مواصفة AUTOSAR Adaptive Platform الإصدار R25-11 ويوثق متطلبات تخصيص التجزئة لـ Monostate.

مخطط الفئات UML

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nstd__hash__ara__core__Monostate__722 «struct» hash< ara::core::Monostate > + hash< ara::core::Monostate() n_core__Monostate__841 :core::Monostate > nstd__hash__ara__core__Monostate__722->n_core__Monostate__841

الدوال الأعضاء

Invoke the hashing function

size_t operator() (ara::core::Monostate const &v) const noexcept;

توثيق الدوال

دالة hash< ara::core::Monostate [SWS_CORE_01671]

size_t operator() (ara::core::Monostate const &v) const noexcept;

Invoke the hashing function

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 36bbfa13b775 المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تحسب الدالة operator() للتخصيص std::hash<ara::core::Monostate> بشكل متزامن قيمة التجزئة لكائن ara::core::Monostate ممرر [SWS_CORE_01671]. وللوصول يجب تضمين ملف الترويسة #include "ara/core/variant.h" [SWS_CORE_01671]. ويتم الاستدعاء عبر التوقيع size_t operator() (ara::core::Monostate const &v) const noexcept، حيث يقبل مرجعًا ثابتًا لقيمة Monostate ويُرجع النتيجة كـ size_t [SWS_CORE_01671].

معالجة الأخطاء والأمان من حيث الاستثناءات

أُعلنت العملية صراحةً كـ noexcept وصُنفت بأنها آمنة ضد الاستثناءات (exception safe) [SWS_CORE_01671]. ولم يتم تعريف رموز خطأ محددة أو رسائل DET/DEM؛ ولا يفشل الاستدعاء ويضمن عدم حدوث استثناءات.

التزامن والتفاعل

باعتبارها دالة عضو const خالية من الآثار الجانبية، فإن الاستدعاء قابل لإعادة الدخول وآمن تمامًا للوصول المتوازي من خيوط متعددة. ونظرًا لأن ara::core::Monostate يمثل نوع حالة فارغًا، فمن المرجح أن تكون قيمة التجزئة المحسوبة متطابقة لجميع المثيلات. سؤال Q-8cbc0fc2662e1943 (مفتوح) ويُفترض أن هذا التخصيص يهدف إلى دعم ara::core::Monostate أو الـ Variants التي تحتوي على هذا النوع بسلاسة كمفاتيح في الحاويات القياسية المعتمدة على التجزئة مثل std::unordered_set.

تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى المواصفة R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

Header-Datei#include "ara/core/variant.h"
Scopestruct std::hash< ara::core::Monostate >
Exception-Sicherheitexception safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_01671
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01671@rel:R25-11#bd8e55a7
Content hash
bd8e55a7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01671
Status: valid/unmigrated Version: rel:R25-11#f23dc3e8 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_01671@rel:R25-11#f23dc3e8
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#71dc5cdc2026-09-30
  • R24-11rel:R24-11#f5ed16732026-10-14
  • R25-11rel:R25-11#f23dc3e82026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill