DEENESPTFRRUARHIKOZHNL

नेमस्पेस std

उपयोगकर्ता गाइडएआई जनित

ara::core प्रकारों को मानक कंटेनरों और C++ मानक लाइब्रेरी के भाषा संसाधनों में एकीकृत करने में सक्षम बनाता है।
एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: e52b54851dc1 उद्गम खुले प्रश्न (3)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

ara::core प्रकारों को मानक कंटेनरों और C++ मानक लाइब्रेरी के भाषा संसाधनों में एकीकृत करने में सक्षम बनाता है।

नेमस्पेस std मॉड्यूल core में AUTOSAR Adaptive Platform के डेटा प्रकारों के लिए std::hash, std::tuple_size और std::tuple_element के टेम्पलेट स्पेशलाइज़ेशन प्रदान करता है। यह ara::core::String, ara::core::Optional, ara::core::Variant, ara::core::Vector और ara::core::Array जैसे प्रकारों के मानक कंटेनरों में और C++ टपल भाषा संसाधनों के साथ प्रत्यक्ष उपयोग को सक्षम बनाता है। सीमांत शर्त यह है कि नेस्टेड प्रकारों के मामले में, संकलन समय पर निहित डेटा प्रकारों के पास भी मान्य स्पेशलाइज़ेशन होने चाहिए।

संदर्भ

AUTOSAR Adaptive Platform के मॉड्यूल core में, नेमस्पेस std C++ मानक लाइब्रेरी में प्लेटफ़ॉर्म-विशिष्ट बुनियादी प्रकारों के निर्बाध एकीकरण का कार्य करता है। नए प्रकार पेश करने के बजाय, नेमस्पेस मानकीकृत सहायक वर्गों के लक्षित टेम्पलेट स्पेशलाइज़ेशन प्रदान करता है। इंटरैक्शन भागीदारों में तीन प्रमुख घटक शामिल हैं: C++ मानक लाइब्रेरी के जेनेरिक प्रकार (विशेष रूप से अनऑर्डर्ड एसोसिएटिव कंटेनर और टपल सहायक उपकरण), std के भीतर टेम्पलेट स्पेशलाइज़ेशन, और मॉड्यूल core में परिभाषित डेटा प्रकार ara::core::Array, ara::core::Monostate, ara::core::Optional, ara::core::String, ara::core::StringView, ara::core::Variant और ara::core::Vector।

std_context app मानक कंटेनर और भाषा सुविधाएँ (उदा. std::unordered_map, Structured Binding) std_spec Spezialisierungen in namespace std (std::hash, std::tuple_size, std::tuple_element) app->std_spec उपयोग करता है ara_types ara::core Datentypen (Array, Optional, String, StringView, Variant, Vector, Monostate) std_spec->ara_types शामिल करता है

संदर्भ आरेख: मानक कंटेनरों, std में स्पेशलाइज़ेशन और ara::core प्रकारों के बीच परस्पर क्रिया। स्रोत: मॉड्यूल core के पेलोड घोषणाएं

std::hash के स्पेशलाइज़ेशन एडेप्टिव कोर डेटा प्रकारों को सीधे मानक कंटेनरों जैसे std::unordered_map या std::unordered_set में कुंजियों के रूप में उपयोग करना संभव बनाते हैं। इसके समानांतर, ara::core::Array के लिए स्पेशलाइज़ेशन std::tuple_size और std::tuple_element मानकीकृत मेटाप्रोग्रामिंग इंटरफेस और भाषा संसाधनों के समर्थन का विस्तार करते हैं।

उपयोग पथ

एक विशिष्ट उपयोग पथ जेनेरिक C++ कोड में ara::core डेटा प्रकार के उपयोग से शुरू होता है। उदाहरण के लिए, एक एप्लिकेशन ara::core::String या ara::core::Optional<T> प्रकार की कुंजियों के साथ एक हैश तालिका घोषित करता है। प्रविष्टि, विलोपन या लुकअप के दौरान, कंटेनर कुंजी हैश मान निर्धारित करने के लिए अंतर्निहित रूप से क्रमशः std::hash<ara::core::String> या std::hash<ara::core::Optional<T>> तक पहुँचता है।

विशेषज्ञताएँ विभिन्न डेटा संरचनाओं को कवर करती हैं:

  • स्ट्रिंग्स और व्यूज़: std::hash<ara::core::String> और std::hash<ara::core::StringView> शामिल वर्ण अनुक्रम पर हैश मानों की गणना करते हैं।
  • मिश्रित प्रकार: std::hash<ara::core::Optional<T>>, std::hash<ara::core::Variant<...>> और std::hash<ara::core::Vector<T, Allocator>> जटिल प्रकार की संरचनाओं के हैशिंग को सक्षम करते हैं। व्याख्या: ara::core::Optional और ara::core::Variant के लिए स्पेशलाइज़ेशन मानकीकृत मॉडलों के सिमेंटिक व्यवहार पर आधारित होने चाहिए और रिक्त या अप्रयुक्त स्थितियों के लिए नियतात्मक मान उत्पन्न करने चाहिए। प्रश्न Q-c432b06f0ba32c5e (खुला)
  • स्टेटलेस प्रकार: std::hash<ara::core::Monostate> रिक्त स्थितियों के लिए एक हैश फ़ंक्शन प्रदान करता है, जैसा कि आमतौर पर वेरिएंट में उपयोग किया जाता है।
  • टपल प्रोटोकॉल: निश्चित डेटा फ़ील्ड के लिए, std::tuple_size<ara::core::Array<T, N>> संकलन समय पर तत्वों की संख्या प्रदान करता है, जबकि std::tuple_element<I, ara::core::Array<T, N>> स्थिति I के डेटा प्रकार को निर्धारित करता है। व्याख्या: std::tuple_size और std::tuple_element के स्पेशलाइज़ेशन से संरचित बाइंडिंग्स (Structured Bindings) के साथ ara::core::Array के उपयोग को सक्षम करने की संभावना है। प्रश्न Q-3abb70390e67dbce (खुला)

त्रुटि परिदृश्य

चूंकि नेमस्पेस std के तत्व विशेष रूप से टेम्पलेट स्पेशलाइज़ेशन हैं, त्रुटि परिदृश्य मुख्य रूप से संकलन समय पर होते हैं। विशिष्ट समस्या स्थितियों में शामिल हैं:

  • बुनियादी प्रकारों की हैशिंग क्षमता का अभाव: यदि std::hash को ara::core::Optional<T> या ara::core::Vector<T, Allocator> जैसे नेस्टेड प्रकार के लिए इंस्टैंशिएट किया जाता है, तो तत्व प्रकार T के लिए std::hash का एक मान्य स्पेशलाइज़ेशन भी मौजूद होना चाहिए। यदि यह अनुपलब्ध है, तो इसके परिणामस्वरूप एक संकलन त्रुटि होती है।
  • टपल प्रोटोकॉल में अमान्य अनुक्रमण: इंडेक्स I >= N के साथ std::tuple_element<I, ara::core::Array<T, N>> तक पहुंचना टेम्पलेट की पूर्व शर्त का उल्लंघन करता है और संकलन प्रक्रिया को निरस्त करता है।

व्याख्या: त्रुटि परिदृश्य अनिवार्य रूप से अपूर्ण प्रकार की विशिष्टताओं या स्थिर सीमा उल्लंघनों पर संकलन-समय त्रुटियों तक सीमित होने चाहिए, क्योंकि विनिर्देश अंश किसी भी रनटाइम त्रुटि कोड या अपवाद इंटरफेस को परिभाषित नहीं करता है। प्रश्न Q-8cda269c72bd701c (खुला)

यह मार्गदर्शिका विशेष रूप से रिलीज़ R25-11 के लिए मॉड्यूल core की घोषित क्लास स्पेशलाइज़ेशन पर आधारित है।

विषय मानचित्र

क्लासें

3

क्लास आरेख

Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.

G cluster_ns std nstd__hash__ara__core__Monostate__ «struct» hash< ara::core::Monostate > nstd__hash__ara__core__Optional__T__ «struct» hash< ara::core::Optional< T > nstd__hash__ara__core__Optional__T____ hash< ara::core::Optional< T > > nstd__hash__ara__core__String__ «struct» hash< ara::core::String > nstd__hash__ara__core__StringView__ «struct» hash< ara::core::StringView > nstd__hash__ara__core__Variant_ «struct» hash< ara::core::Variant< nstd__hash__ara__core__Variant__Types_______ hash< ara::core::Variant< Types... > > nstd__hash__ara__core__Vector__T__Allocator____ «struct» hash< ara::core::Vector< T, Allocator > > nstd__tuple_element__I__ara__core__Array__T__N____ «struct» tuple_element< I, ara::core::Array< T, N > > nstd__tuple_size__ara__core__Array__T_ «struct» tuple_size< ara::core::Array< T, next_integral__constant__size_t__N__ integral_ constant< size_t, N > nstd__tuple_size__ara__core__Array__T_->next_integral__constant__size_t__N__

विवरण दृश्य

रूपरेखा में कोई प्रविष्टि चुनें।

क्लासें

hash क्लास

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

विशेषीकरण hash< ara::core::Optional< T > hash< ara::core::String > hash< ara::core::StringView > hash< ara::core::Variant< hash< ara::core::Vector< T, Allocator > >

tuple_element क्लास

≙ [array]

tuple_size क्लास

≙ [array]