एक 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 SOVD (Service-Oriented Vehicle Diagnostics) के लिए Adaptive AUTOSAR डायग्नोस्टिक्स आर्किटेक्चर के भीतर ऐरे प्रकार के डायग्नोस्टिक्स डेटा तत्व पर एक केवल-पठनीय दृश्य (const view) प्रदान करता है [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 · जर्मन मूल