AUTOSAR Adaptive के लिए निश्चित आकार और टाइप-सुरक्षित बाउंड्स चेकिंग वाला एक अनुक्रमिक कंटेनर प्रदान करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: c3e86159274fउद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
AUTOSAR Adaptive के लिए निश्चित आकार और टाइप-सुरक्षित बाउंड्स चेकिंग वाला एक अनुक्रमिक कंटेनर प्रदान करता है।
टेम्प्लेट क्लास ara::core::ArrayT प्रकार के तत्वों के लिए एक अनुक्रमिक निश्चित आकार के कंटेनर के रूप में कार्य करती है और AUTOSAR Adaptive Platform अनुप्रयोगों के लिए std::array के व्यवहार को अनुकूलित करती है। कॉलर कंटेनर को एक निश्चित तत्व संख्या के साथ इनिशियलाइज़ करते हैं, fill() जैसी विधियों के माध्यम से सामग्री में हेरफेर करते हैं और इच्छानुसार operator[] के माध्यम से बिना जांचे या at() के माध्यम से बाउंड्स-जांचे रूप में [SWS_CORE_01273] तक पहुँचते हैं। सुरक्षा-प्रासंगिक सीमा शर्त के रूप में, at() पर सीमा का उल्लंघन होने पर std::out_of_range के बजाय विशिष्ट उल्लंघन IsoStdOutOfRangeViolation ट्रिगर होता है, जबकि खाली इंस्टेंसेस पर front() या back() के कॉल कंपाइल समय पर ही विफल हो जाते हैं [SWS_CORE_01267]।
संदर्भ
टेम्प्लेट क्लास ara::core::ArrayT प्रकार के तत्वों के लिए कंपाइल समय पर सांख्यिकीय रूप से निश्चित आकार N वाले एक अनुक्रमिक कंटेनर को इनकैप्सुलेट करती है। यह AUTOSAR Adaptive Platform के मॉड्यूल core में मानकीकृत प्रकार std::array को कार्यान्वित करती है और सन्निहित मेमोरी ब्लॉकों के लिए एक टाइप-सुरक्षित अमूर्तता प्रस्तुत करती है। value_type ([SWS_CORE_01216]), size_type ([SWS_CORE_01214]), difference_type ([SWS_CORE_01215]) जैसे मानकीकृत टाइप उपनामों के साथ-साथ पॉइंटर प्रकारों ([SWS_CORE_01217], [SWS_CORE_01218]) और संदर्भ प्रकारों ([SWS_CORE_01210], [SWS_CORE_01211]) के प्रावधान द्वारा यह क्लास जेनेरिक C++ एल्गोरिदम और प्लेटफ़ॉर्म-आंतरिक डेटा प्रवाहों के लिए एक इंटरऑपरेबल इंटरेक्शन पार्टनर के रूप में कार्य करती है।
जीवनचक्र
एक Array इंस्टेंस का निर्माण और विनाश एग्रीगेट और वैल्यू प्रकारों के मानक नियमों का पालन करता है: ISO C++ मानक के अंतर्निहित रूप से घोषित विशेष सदस्य फ़ंक्शनों का उपयोग किया जाता है और उन्हें अलग से पुनः घोषित नहीं किया जाता है। Array अपने तत्वों को सीधे इनलाइन उसी मेमोरी क्षेत्र में रखता है। समाहित तत्वों का जीवनकाल परिणामस्वरूप संलग्न Array ऑब्जेक्ट के जीवनकाल से अभिन्न रूप से जुड़ा होता है; फ़्री स्टोर (Heap) पर संभवतः कोई डायनेमिक आवंटन नहीं होता है, जो निर्धारक समय और मेमोरी व्यवहार सुनिश्चित करता है। प्रश्न Q-945fdce67844d6a6 (खुला)
कंटेनर हमेशा एक वैध स्थिति में रहता है और ठीक N तत्वों का प्रबंधन करता है। क्या Array तत्व ग्रहण कर सकता है या N = 0 के साथ एक विशेष स्थिति के रूप में मौजूद है, इसका मूल्यांकन empty() ([SWS_CORE_01264]), size() ([SWS_CORE_01262]) और max_size() ([SWS_CORE_01263]) के माध्यम से किया जा सकता है। समवर्तीता के संबंध में, यह लागू होना चाहिए कि सिंक्रोनाइज़ेशन के बिना समवर्ती पठन एक्सेस सुरक्षित हैं, जबकि समानांतर लेखन संशोधनों के लिए कॉलर द्वारा बाहरी समन्वय की आवश्यकता होती है। प्रश्न Q-7abd5842b7560a04 (खुला)
उपयोग पथ
विशिष्ट उपयोग के मामलों में, ara::core::Array इनिशियलाइज़ेशन, तत्व भरण, रैंडम या अनुक्रमिक एक्सेस के साथ-साथ यदि आवश्यक हो तो सामग्री विनिमय के अनुक्रम से गुजरता है:
इनिशियलाइज़ेशन और भरण: पूरे डेटा बफ़र को fill() ([SWS_CORE_01241]) के माध्यम से समान रूप से एक पूर्व-निर्धारित मान के साथ आबंटित किया जा सकता है।
पॉइंटर एक्सेस और विनिमय: अंतर्निहित मेमोरी क्षेत्र को data() ([SWS_CORE_01271], [SWS_CORE_01272]) के माध्यम से एक पॉइंटर के रूप में पास किया जा सकता है। दो समान आयाम वाले ऐरे को swap() ([SWS_CORE_01242]) का उपयोग करके आपस में बदला जा सकता है।
विनिर्देश सीमा और त्रुटि स्थितियों के लिए सख्त पूर्व- और पश्च-शर्तों को परिभाषित करता है:
इंडेक्स किए गए एक्सेस में बाउंड्स उल्लंघन: यदि at() पर इंडेक्स n Array सीमाओं के बाहर है (n >= size()), तो C++ मानक अपवाद std::out_of_range के बजाय IsoStdOutOfRangeViolation ट्रिगर होता है ([SWS_CORE_01273], [SWS_CORE_01274])। दोनों ओवरलोड noexcept के साथ घोषित हैं।
इटरैटर्स पर अपरिभाषित व्यवहार: एक खाली Array पर begin() द्वारा लौटाए गए इटरैटर को डीरेफ़रेंस करना अपरिभाषित व्यवहार प्रस्तुत करता है ([SWS_CORE_01250], [SWS_CORE_01251])।
पॉइंटर पुनर्प्राप्ति का विशेष मामला: यदि Array का आकार 0 है, तो सदस्य फ़ंक्शन data() अनिवार्य रूप से nullptr देता है ([SWS_CORE_01271], [SWS_CORE_01272])।
सशर्त अपवाद-सुरक्षा: ऑपरेशन swap() केवल तभी noexcept होता है जब प्रकार-संबंधी शर्त ara::core::is_nothrow_swappable<T>::value पूरी होती है ([SWS_CORE_01242])। तदनुसार, fill() का noexcept गुणधर्म std::is_nothrow_copy_assignable<T>::value ([SWS_CORE_01241]) के माध्यम से निर्धारित होता है।
यह मार्गदर्शिका कार्यात्मक Core क्लास ara::core::Array के लिए AUTOSAR Adaptive विनिर्देश पर आधारित है और स्वचालित रूप से बनाई गई थी।
As per corresponding usage in [array] except for the following deviations: 1. if (n >= size()) IsoStdOutOfRangeViolation is raised instead of std:: out_of_range
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 795454c939dfउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::core::Array का एलिमेंट फ़ंक्शन at अंतर्निहित सीमा मान जांच [SWS_CORE_01273] के साथ निर्दिष्ट स्थिति n पर एक ऐरे एलिमेंट के सिंक्रोनस रीड और राइट एक्सेस की अनुमति देता है। यह फ़ंक्शन संबोधित एलिमेंट के लिए एक परिवर्तनीय संदर्भ (reference) लौटाता है और कंपाइल-टाइम पर इसका मूल्यांकन किया जा सकता है (constexpr) [SWS_CORE_01273]।
त्रुटि के मामले में, जब अनुरोधित इंडेक्स कंटेनर सीमा तक पहुँच जाता है या उसे पार कर जाता है (n >= size()), तो व्यवहार मानक C++ कंटेनर std::array से भिन्न होता है: std::out_of_range प्रकार के अपवाद के बजाय एक IsoStdOutOfRangeViolation ट्रिगर होता है [SWS_CORE_01273]। चूँकि सिग्नेचर को noexcept के रूप में घोषित किया गया है और अपवाद-सुरक्षित के रूप में वर्गीकृत किया गया है, इसलिए कोई नियमित C++ अपवाद नहीं फेंके जाते हैं [SWS_CORE_01273]। व्याख्या: इस उल्लंघन को ट्रिगर करने से noexcept संदर्भ में संभवतः निष्पादन का तत्काल नियंत्रित समापन होना चाहिए। प्रश्न Q-72c19d096572f6bc (खुला)
केवल-पढ़ने योग्य (read-only) इंस्टेंस के लिए पूरक कॉन्स्टेंट ओवरलोड [SWS_CORE_01274] मौजूद है, जो एक कॉन्स्टेंट संदर्भ देता है। IsoStdOutOfRangeViolation के माध्यम से समान त्रुटि सिमेंटिक्स को संबंधित कंटेनरों जैसे ara::core::Vector ([SWS_CORE_01354], [SWS_CORE_01355]) और साथ ही ara::core::StringView[SWS_CORE_02133] में भी सुसंगत रूप से लागू किया गया है।
यह पाठ AI द्वारा जनरेट किया गया था और मार्गदर्शन के रूप में कार्य करता है। AUTOSAR विनिर्देश ही प्रामाणिक है।
As per corresponding usage in [array] except for the following deviations: 1. if (n >= size()) IsoStdOutOfRangeViolation is raised instead of std:: out_of_range
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 8616a34d04dcउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::core::Array (हेडर #include "ara/core/array.h") का मेंबर फ़ंक्शन at एकल ऐरे तत्व तक अनुक्रमित, रीड एक्सेस सक्षम बनाता है [SWS_CORE_01274]। यह प्रकार size_type का इंडेक्स n प्राप्त करता है और संबोधित तत्व के लिए एक निरंतर संदर्भ (const_reference) लौटाता है [SWS_CORE_01274]। constexpr और noexcept के रूप में घोषणा के कारण, फ़ंक्शन कंपाइल-समय पर स्थिर अभिव्यक्तियों के लिए प्रयोग करने योग्य है और अपवाद-सुरक्षित (exception safe) के रूप में निर्दिष्ट है [SWS_CORE_01274]। संशोधित एक्सेस के लिए गैर-निरंतर (non-const) ओवरलोड उपलब्ध है [SWS_CORE_01273]।
त्रुटि के मामले में, सिमेंटिक्स std::array से विचलित होता है: यदि इंडेक्स कंटेनर के आकार (n >= size()) से अधिक हो जाता है, तो कोई std::out_of_range ट्रिगर नहीं होता है, बल्कि उल्लंघन IsoStdOutOfRangeViolation की रिपोर्ट की जाती है [SWS_CORE_01274]। चूंकि फ़ंक्शन noexcept के साथ योग्य है, इसलिए इस उल्लंघन की रिपोर्टिंग संभवतः प्लेटफ़ॉर्म-व्यापी एबॉर्ट तंत्र के माध्यम से प्रोग्राम शटडाउन की ओर ले जाती है, जिसके लिए उपयोगकर्ता-परिभाषित हैंडलर पंजीकृत किए जा सकते हैं [SWS_CORE_00054]। प्रश्न Q-f73299f375ef3a1f (खुला)
यह त्रुटि प्रबंधन पैटर्न ara::core के अन्य कंटेनरों में भी समान रूप से लागू होता है, जैसे कि ara::core::Vector[SWS_CORE_01354], ara::core::Map[SWS_CORE_01456] और ara::core::StringView[SWS_CORE_02133] में। हालाँकि, जबकि ara::core::Vector और ara::core::BasicString को at में अपवाद-सुरक्षित नहीं माना जाता है [SWS_CORE_01354][SWS_CORE_03063], ara::core::Array अपवाद-सुरक्षा का आश्वासन देता है [SWS_CORE_01274]।
यह पाठ एक AI द्वारा तैयार किया गया था; यह आधिकारिक विनिर्देश की समीक्षा का विकल्प नहीं है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 8c9d3976ab7aउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
हेडर फ़ाइल #include "ara/core/array.h" से क्लास ara::core::Array का मेंबर फ़ंक्शन crbegin मानक कंटेनर व्यवहार के अनुसार ऐरे के अंतिम तत्व पर एक कॉन्स्टेंट रिवर्स इटरिएटर लौटाता है [SWS_CORE_01260]। मेथड को सिंक्रोनस रूप से और बिना पैरामीटर के कॉल किया जाता है तथा यह एक const_reverse_iterator लौटाता है। constexpr और const के रूप में इसके विनिर्देश के कारण, फ़ंक्शन का उपयोग रनटाइम पर और कंपाइल-टाइम मूल्यांकनों के साथ-साथ कॉन्स्टेंट ऐरे इंस्टेंसेस पर भी किया जा सकता है [SWS_CORE_01260]।
त्रुटि प्रबंधन के संबंध में, ऑपरेशन को noexcept के रूप में घोषित किया गया है और इसका वर्गीकरण exception safe[SWS_CORE_01260] है। इस प्रकार यह कॉल पूर्ण अपवाद सुरक्षा की गारंटी देती है; इस अनुक्रमिक पहुंच के लिए विशिष्ट त्रुटि कोड, DET या DEM के माध्यम से फीडबैक या त्रुटि स्थितियां मौजूद नहीं हैं।
समवर्तीता के मामले में, केवल-पढ़ने की पहुंच (read-only access) कोई साइड इफेक्ट उत्पन्न नहीं करती है, यही वजह है कि एक ही इंस्टेंस पर crbegin की समवर्ती कॉल्स संभवतः थ्रेड-सुरक्षित और बाहरी सिंक्रोनाइज़ेशन के बिना निष्पादन योग्य हैं। प्रश्न Q-02554ec002069925 (खुला) कॉल संदर्भ के लिए कोई विशेष प्रतिबंध या सख्त अनुक्रम नियम लागू नहीं होते हैं, जब तक कि अंतर्निहित ऐरे इनिशियलाइज़ है।
संपूर्ण कोर लाइब्रेरी के साथ परस्पर क्रिया में, यह मेथड मानकीकृत इटरिएटर डिज़ाइन का अनुसरण करता है। रिवर्स कॉन्स्टेंट इटरेशन के लिए समान इंटरफ़ेस ara::core::Vector[SWS_CORE_01342], ara::core::Map[SWS_CORE_01450], ara::core::BasicString[SWS_CORE_03049] के लिए संबंधित आवश्यकताओं में और साथ ही ara::core::Span[SWS_CORE_01978] और ara::core::StringView[SWS_CORE_02126] जैसे गैर-स्वामित्व वाले व्यूज़ (views) के लिए भी पाए जाते हैं।
यह उपयोग निर्देश Adaptive Core R25-11 के लिए AUTOSAR विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 95338f6bd6a6उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
कंटेनर क्लास ara::core::Array का मेंबर फ़ंक्शन crend हेडर #include "ara/core/array.h" के माध्यम से प्रदान किया जाता है [SWS_CORE_01261]। इसका सिग्नेचर constexpr const_reverse_iterator crend () const noexcept; है, यह कोई पैरामीटर नहीं लेता है और समकालिक रूप से const_reverse_iterator प्रकार का एक कॉन्स्टेंट रिवर्स-इटरेटर लौटाता है [SWS_CORE_01261]। constexpr के रूप में डिक्लेरेशन के कारण, कॉल को कंपाइल-टाइम पर भी इवैल्यूएट किया जा सकता है [SWS_CORE_01261]। Interpretation: “As per corresponding usage in [array]” निर्देश के अनुसार, इटरेटर संभवतः किसी कॉन्स्टेंट डेटा फ़ील्ड पर उल्टी दिशा वाले इटरेशन के तार्किक अंत को निर्दिष्ट करता है [SWS_CORE_01261]। प्रश्न Q-d247b385b426784f (खुला)
त्रुटि प्रबंधन के लिए, मेथड को noexcept के रूप में निर्दिष्ट किया गया है और एक्सेप्शन-सुरक्षित (exception safe) के रूप में वर्गीकृत किया गया है, ताकि कोई एक्सेप्शन उत्पन्न न हो और DET या DEM के माध्यम से कोई त्रुटि रिपोर्ट न की जाए [SWS_CORE_01261]। Interpretation: चूँकि यह एक साइड-इफ़ेक्ट-मुक्त const इंस्टेंस मेथड है, इसलिए एक ही इंस्टेंस पर कई थ्रेड्स द्वारा समवर्ती रीड एक्सेस सुरक्षित और रीएंट्रेंट होने चाहिए, बशर्ते कोई समवर्ती संशोधन न हो [SWS_CORE_01261]। प्रश्न Q-8cd440a3f36846f9 (खुला)
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: d20612515608उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
वर्ग ara::core::Array का सदस्य फ़ंक्शन fill ऐरे में निहित सभी तत्वों को एक समान मान निर्दिष्ट करने का काम करता है [SWS_CORE_01241]। एक पैरामीटर के रूप में, यह निर्दिष्ट किए जाने वाले ऑब्जेक्ट के लिए एक स्थिर संदर्भ const T &u लेता है और कोई रिटर्न मान नहीं देता है (void)। व्यवहार [array] में उपयोग पर आधारित है, इसलिए संभवतः सभी तत्व कॉपी असाइनमेंट द्वारा समकालिक रूप से मान u पर सेट किए जाते हैं। प्रश्न Q-927b1702cfa40906 (खुला)
त्रुटि प्रबंधन और अपवाद सुरक्षा
विनिर्देश के अनुसार, फ़ंक्शन को सशर्त रूप से अपवाद-सुरक्षित (conditionally exception safe) के रूप में वर्गीकृत किया गया है [SWS_CORE_01241]। इसे पहचानकर्ता noexcept(std::is_nothrow_copy_assignable<T>::value) के माध्यम से कार्यान्वित किया जाता है। विशिष्ट त्रुटि कोड, रिटर्न मान के रूप में कोई त्रुटि स्थिति या DET/DEM संदेश प्रदान नहीं किए गए हैं; अपवाद केवल तभी होते हैं जब प्रकार T का कॉपी असाइनमेंट विफल हो जाता है और इसे noexcept घोषित नहीं किया जाता है।
समवर्तीता और एकीकरण
एकीकरण के लिए, हेडर #include "ara/core/array.h" को शामिल किया जाना चाहिए [SWS_CORE_01241]। चूंकि fill कॉलिंग ऑब्जेक्ट की स्थिति को संशोधित करता है, इसलिए डेटा विवादों से बचने के लिए कई थ्रेड्स द्वारा समवर्ती एक्सेस के मामले में बाहरी सिंक्रोनाइज़ेशन आवश्यक होना चाहिए। प्रश्न (खुला)
यह पाठ एक AI द्वारा तैयार किया गया था और पूरी तरह से AUTOSAR Adaptive R25-11 के विनिर्देश डेटा पर आधारित है।
As per corresponding usage in [array] except for the following deviations: 1. ara::core::is_nothrow_swappable shall be used in place of the std:: implementation
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल