DEENESPTFRRUARHIKOZHNL

मॉड्यूल ara::core — Adaptive Platform Core

Spezifikation: AUTOSAR_AP_SWS_Core.pdf (R25-11) · 1237 API-Records

मॉड्यूल गाइडएआई जनित

प्लेटफ़ॉर्म-व्यापी C++ आधार प्रकार, दोष-सुरक्षित परिणाम प्रकार और नियतात्मक मेमोरी पूल प्रदान करता है।
एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 54405fb1f5a0 उद्गम खुले प्रश्न (2)
कारणात्मक एंकर: R25-11 R25-11 से मान्य इस विनिर्देश संस्करण के लिए नए सिरे से संश्लेषित।
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

प्लेटफ़ॉर्म-व्यापी C++ आधार प्रकार, दोष-सुरक्षित परिणाम प्रकार और नियतात्मक मेमोरी पूल प्रदान करता है।

मॉड्यूल core AUTOSAR Adaptive Platform (SWArchitecture पृ. 60, [SWS_CORE_00326]) के लिए प्लेटफ़ॉर्म-व्यापी आधार प्रकार, PMR मेमोरी पूल और एसिंक्रोनस सिंक्रोनाइज़ेशन प्रिमिटिव Future और Promise प्रदान करता है। सख्त सुरक्षा और वास्तविक समय की आवश्यकताओं को पूरा करने के लिए, सम टाइप (योग प्रकार) Result<T, E> पारंपरिक एक्सेप्शनों को नियतात्मक रिटर्न मानों ([SWS_CORE_00751]) से प्रतिस्थापित करता है। अपूरणीय सिस्टम त्रुटियों के मामले में, फ़ेल-फ़ास्ट फ़ंक्शन Abort() तत्काल, नियंत्रित प्रक्रिया समाप्ति सुनिश्चित करता है ([SWS_CORE_00052])।

मॉड्यूल core AUTOSAR Adaptive Platform के बुनियादी कार्यात्मक क्लस्टर के रूप में कार्य करता है और सभी प्लेटफ़ॉर्म सेवाओं और अनुप्रयोगों के लिए एकीकृत डेटा संरचनाएं, एसिंक्रोनस संचार प्रिमिटिव और मेमोरी प्रबंधन तंत्र प्रदान करता है (SWArchitecture पृ. 60)। POSIX ऑपरेटिंग सिस्टम परिवेशों में नियतात्मक प्रक्रियाओं और कार्यात्मक सुरक्षा की गारंटी के लिए, core पारंपरिक C++ एक्सेप्शनों को टाइप-सुरक्षित परिणाम प्रकार Result<T, E> से प्रतिस्थापित करता है और बहुरूपी एलोकेटरों ([SWS_CORE_00041], [SWS_CORE_00751]) के माध्यम से गतिशील मेमोरी आवंटन को नियंत्रित करता है।

CoreArch cluster_core ara::core app Adaptive Application fc Funktionale Cluster (ara::com, ara::ts, etc.) app->fc lifecycle Lebenszyklus & Prozessabbruch (Initialize, Deinitialize, Abort) app->lifecycle concurrency अतुल्यकालिक कंट्रोल फ्लो (Future, Promise, Executor) app->concurrency error_mgmt Deterministisches Fehlermanagement (Result, ErrorCode, ErrorDomain) app->error_mgmt memory Speicherverwaltung (PMR) (MemoryResource, PoolResources) app->memory types Container & Utility-Typen (Optional, Array, Vector, Map) app->types fc->concurrency fc->error_mgmt fc->memory fc->types posix Betriebssystem & POSIX-Laufzeitumgebung lifecycle->posix memory->posix

संदर्भ आरेख: Adaptive Platform में कार्यात्मक क्लस्टर ara::core और इसके इंटरफ़ेस क्षेत्रों का समावेश। स्रोत: SWArchitecture पृ. 60, SWArchitecture पृ. 36

समवर्ती सिंक्रोनाइज़ेशन के लिए, core Future और Promise के अंतःक्रिया को लागू करता है ([SWS_CORE_00326], [SWS_CORE_00344])। जबकि निर्माता Promise के माध्यम से गणना स्थिति या त्रुटि प्रदान करता है, Future उपभोक्ता को wait_for() के माध्यम से समय-निगरानी क्वेरी और then() ([SWS_CORE_00329], [SWS_CORE_00331], TimeSynchronization पृ. 90) के माध्यम से प्रतिक्रियाशील अग्रेषण दोनों की अनुमति देता है।

ResultEval start Empfang von Result<T, E> check HasValue() / operator bool() द्वारा जाँच start->check val_path सफल: Value() / operator*() द्वारा एक्सेस check->val_path true err_path त्रुटि स्थिति: Error() द्वारा एक्सेस check->err_path false use_val Nutzlast T verarbeiten val_path->use_val check_throw Exception-Modus aktiviert? err_path->check_throw throw_exc ValueOrThrow() अपवाद (Exception) ट्रिगर करता है check_throw->throw_exc हाँ handle_err Deterministische Fehlerbehandlung via ErrorCode check_throw->handle_err नहीं

गतिविधि आरेख: त्रुटि-मुक्त मामले में और त्रुटि की स्थिति में Result ऑब्जेक्ट का नियतात्मक मूल्यांकन पथ। स्रोत: [SWS_CORE_00751], [SWS_CORE_00755], [SWS_CORE_00757], [SWS_CORE_00766]

फ़्रैगमेंटेशन से बचने के लिए, मॉड्यूल SynchronizedPoolResource और UnsynchronizedPoolResource जैसे पूल संसाधन प्रदान करता है, जो आवंटन को निश्चित आकार के चंक्स तक सीमित करते हैं ([SWS_CORE_00030], [SWS_CORE_00067], SWArchitecture पृ. 61)। यदि कोई असाध्य त्रुटि स्थिति उत्पन्न होती है, तो प्लेटफ़ॉर्म पंजीकृत AbortHandler के पूर्व निष्पादन के तहत Abort() के माध्यम से प्रक्रिया की तत्काल फ़ेल-फ़ास्ट समाप्ति लागू करता है ([SWS_CORE_00051], [SWS_CORE_00052])।

ara::core की सिस्टम भूमिका और वास्तुकला आधार

मॉड्यूल core AUTOSAR Adaptive Platform की मौलिक नींव बनाता है और सभी कार्यात्मक क्लस्टरों और Adaptive Applications (SWArchitecture पृ. 60) के लिए मौलिक प्रकार परिभाषाएँ, मेमोरी प्रबंधन तंत्र और आधार इंटरफ़ेस प्रदान करता है। अनुप्रयोग-विशिष्ट सेवाओं के विपरीत, core प्रक्रिया-स्थानीय (प्रोसेस-लोकल) रूप से डिज़ाइन किया गया है और POSIX ऑपरेटिंग सिस्टम परिवेशों के भीतर पोर्टेबल, नियतात्मक और संसाधन-कुशल C++ सॉफ़्टवेयर को लागू करने के लिए आवश्यक अमूर्तता को परिभाषित करता है (SWArchitecture पृ. 36)।

वास्तुशिल्प रूप से, यह मॉड्यूल हार्डवेयर-निकट ऑपरेटिंग सिस्टम फ़ंक्शनों और Adaptive Platform की उच्च परतों (SWArchitecture पृ. 60) के बीच एक मानकीकृत इंटरफ़ेस के रूप में कार्य करता है। इस प्रक्रिया में, core कार्यात्मक सुरक्षा (ASIL) और रीयल-टाइम क्षमता के लिए केंद्रीय आवश्यकताओं को संबोधित करता है, गतिशील मेमोरी आवंटन को नियंत्रणीय बनाकर और नियमित नियंत्रण प्रवाह ([SWS_CORE_00052], [SWS_CORE_00751]) में C++ एक्सेप्शनों के व्यापक उपयोग से बचकर। प्लेटफ़ॉर्म-व्यापी आधार प्रकारों का प्रावधान ara::com या ara::ts (ARAComAPI पृ. 46, TimeSynchronization पृ. 90) जैसे मिडलवेयर घटकों के बीच स्वामित्व वाले पृथक समाधानों को रोकता है।

CoreArch cluster_core ara::core app Adaptive Application fc Funktionale Cluster (ara::com, ara::ts, etc.) app->fc lifecycle Lebenszyklus & Prozessabbruch (Initialize, Deinitialize, Abort) app->lifecycle concurrency अतुल्यकालिक कंट्रोल फ्लो (Future, Promise, Executor) app->concurrency error_mgmt Deterministisches Fehlermanagement (Result, ErrorCode, ErrorDomain) app->error_mgmt memory Speicherverwaltung (PMR) (MemoryResource, PoolResources) app->memory types Container & Utility-Typen (Optional, Array, Vector, Map) app->types fc->concurrency fc->error_mgmt fc->memory fc->types posix Betriebssystem & POSIX-Laufzeitumgebung lifecycle->posix memory->posix

संदर्भ आरेख: Adaptive Platform में कार्यात्मक क्लस्टर ara::core और इसके इंटरफ़ेस क्षेत्रों का समावेश। स्रोत: SWArchitecture पृ. 60, SWArchitecture पृ. 36

Future और Promise के माध्यम से एसिंक्रोनस नियंत्रण और डेटा प्रवाह

समवर्ती और विकेंद्रीकृत (डीकपल्ड) इंटरैक्शन के लिए, ara::core Promise और Future के माध्यम से प्रोड्यूसर-कंज्यूमर पैटर्न को लागू करता है ([SWS_CORE_00326], [SWS_CORE_00341])। एक Promise उस राइटिंग इंटरफ़ेस का प्रतिनिधित्व करता है जिसके माध्यम से एक एसिंक्रोनस वर्कर या एक कम्युनिकेशन स्केलेटन परिणाम अथवा एरर को दर्ज करता है ([SWS_CORE_00345], [SWS_CORE_00353])। इसका उपभोग करने वाला समकक्ष Future बनाता है, जो साझा स्थिति (Shared State) की निगरानी करता है और रिटर्न मान तक टाइप-सुरक्षित एक्सेस को एनकैप्सुलेट करता है (ARAComAPI पृ. 46, ARAComAPI पृ. 59)।

क्लाइंट थ्रेड्स के ब्लॉकिंग से बचने के लिए, Future सिंक्रोनस, ब्लॉकिंग क्वेरी फ़ंक्शन get() ([SWS_CORE_00326]) के अलावा समय-सीमित प्रतीक्षा संचालन प्रदान करता है: wait_for() और wait_until() FutureStatus प्रकार का एक स्टेटस इंडिकेटर लौटाते हैं ([SWS_CORE_00329], [SWS_CORE_00330], ARAComAPI पृ. 1)। then() मेथड के माध्यम से कॉलबैक पंजीकृत किए जा सकते हैं, जो परिणाम प्राप्त होने पर स्वचालित रूप से निष्पादित होते हैं; वैकल्पिक रूप से, निष्पादन को विशिष्ट थ्रेड पूल्स पर निर्देशित करने के लिए एक उपयोगकर्ता-विशिष्ट Executor को एकीकृत किया जा सकता है ([SWS_CORE_00024], [SWS_CORE_00331], [SWS_CORE_00337])। अनन्य स्वामित्व सुनिश्चित करने के लिए Future और Promise के लिए कॉपी ऑपरेशन स्पष्ट रूप से प्रतिबंधित हैं ([SWS_CORE_00334], [SWS_CORE_00350])।

Promise और Future के माध्यम से अतुल्यकालिक संचारConsumer (App)FuturePromiseProducer (Worker)Erzeuge Promise()get_future()Erzeuge Future<T, E>Consumer को Future सौंपनाUse Case: प्रतीक्षा और क्वेरी चरणwait_for(timeoutDuration)FutureStatus::kTimeoutUse Case: Ergebnisbereitstellungset_value(value) या SetError(error)स्थिति परिवर्तन: Shared State पूर्णget() या GetResult()मान अथवा Result<T, E> लौटाना

सीक्वेंस आरेख: Promise और Future के माध्यम से वर्कर और एप्लिकेशन के बीच एसिंक्रोनस मान और एरर ट्रांसमिशन। स्रोत: [SWS_CORE_00326], [SWS_CORE_00329], [SWS_CORE_00344], [SWS_CORE_00345], TimeSynchronization पृ. 90

डिटरमिनिस्टिक एरर मैनेजमेंट: Result, ErrorCode और ErrorDomain

Adaptive Platform में सुरक्षा-उन्मुख प्रोग्रामिंग का एक मुख्य पहलू नियमित संचालन में अनियंत्रित एक्सेप्शन से सख्ती से बचना है। ara::core::Result<T, E> एक टाइप-सुरक्षित सम-टाइप एनकैप्सुलेशन के रूप में कार्य करता है, जिसमें या तो T प्रकार का एक सफलता-पेलोड मान या E प्रकार का एक एरर ऑब्जेक्ट होता है ([SWS_CORE_00721], [SWS_CORE_00723], [SWS_CORE_00751])। संदर्भ प्रकारों Result<T&, E> और बिना रिटर्न मान वाले ऑपरेशनों Result<void, E> दोनों के लिए विशिष्टताएँ मौजूद हैं ([SWS_CORE_00821], [SWS_CORE_00908])।

समाविष्ट स्थिति की जाँच HasValue() या स्पष्ट रूपांतरण ऑपरेटर operator bool() के माध्यम से की जाती है ([SWS_CORE_00751], [SWS_CORE_00752])। पेलोड डेटा तक पहुँचना Value() या operator*() के माध्यम से होता है, जबकि एरर की क्वेरी Error() के माध्यम से की जाती है ([SWS_CORE_00755], [SWS_CORE_00757])। कार्यात्मक आगे की प्रोसेसिंग और एरर प्रोगैशन के लिए, Result Bind(), ValueOr() और Resolve() जैसे मेथड्स प्रदान करता है ([SWS_CORE_00761], [SWS_CORE_00768])। एरर को ErrorCode के माध्यम से मॉडल किया जाता है, जो एक संख्यात्मक एरर कोड CodeType को एक विशिष्ट डोमेन पहचानकर्ता ErrorDomain के साथ-साथ वैकल्पिक नैदानिक अतिरिक्त डेटा SupportDataType से जोड़ता है ([SWS_CORE_00121], [SWS_CORE_00122], [SWS_CORE_00512])। मेथड ValueOrThrow() सक्रिय एक्सेप्शन हैंडलिंग वाले परिवेशों के लिए एक ब्रिज के रूप में मौजूद है, लेकिन एरर की स्थिति में यह डोमेन से जुड़े एक्सेप्शन को ट्रिगर करता है ([SWS_CORE_00154], [SWS_CORE_00766])।

ResultEval start Empfang von Result<T, E> check HasValue() / operator bool() द्वारा जाँच start->check val_path सफल: Value() / operator*() द्वारा एक्सेस check->val_path true err_path त्रुटि स्थिति: Error() द्वारा एक्सेस check->err_path false use_val Nutzlast T verarbeiten val_path->use_val check_throw Exception-Modus aktiviert? err_path->check_throw throw_exc ValueOrThrow() अपवाद (Exception) ट्रिगर करता है check_throw->throw_exc हाँ handle_err Deterministische Fehlerbehandlung via ErrorCode check_throw->handle_err नहीं

गतिविधि आरेख: त्रुटि-मुक्त मामले में और त्रुटि की स्थिति में Result ऑब्जेक्ट का नियतात्मक मूल्यांकन पथ। स्रोत: [SWS_CORE_00751], [SWS_CORE_00755], [SWS_CORE_00757], [SWS_CORE_00766]

पूल संसाधनों के माध्यम से बहुरूपी मेमोरी प्रबंधन

मानक हीप पर डायनेमिक एलोकेशन गैर-नियतात्मकता और मेमोरी विखंडन के संबंध में जोखिम उत्पन्न करता है। इसलिए ara::core C++ NVI पैटर्न (Non-Virtual Interface) के आधार पर पॉलीमॉर्फिक मेमोरी रिसोर्सेज (PMR) पर आधारित मेमोरी प्रबंधन को एकीकृत करता है (SWArchitecture पृ. 61)। बेस क्लास MemoryResource सार्वजनिक इंटरफ़ेस allocate() और deallocate() घोषित करता है, जो आंतरिक रूप से शुद्ध वर्चुअल मेथड्स do_allocate() और do_deallocate() को नियंत्रित करते हैं ([SWS_CORE_00041], [SWS_CORE_00061])।

रीयल-टाइम-महत्वपूर्ण आवंटन पैटर्न के लिए विशेष पूल संसाधन उपलब्ध हैं: SynchronizedPoolResource PoolOptions के माध्यम से पूर्व-कॉन्फ़िगर किए गए चंक्स और ब्लॉक आकारों से थ्रेड-सुरक्षित आवंटन प्रदान करता है ([SWS_CORE_00027], [SWS_CORE_00030])। बिना सिंक्रोनाइज़ेशन ओवरहेड के सख्त थ्रेड-लोकल प्रोसेसिंग चरणों के लिए UnsynchronizedPoolResource काम करता है ([SWS_CORE_00046], [SWS_CORE_00067])। release() के माध्यम से संपूर्ण आवंटित मेमोरी क्षेत्र को एक ही चरण में अपस्ट्रीम upstream_resource() में वापस लौटाया जा सकता है, जो चरण-उन्मुख वर्कफ़्लो में मेमोरी लीक को प्रभावी ढंग से रोकता है ([SWS_CORE_00037], [SWS_CORE_00038], [SWS_CORE_00065])।

PMRHierarchy mr MemoryResource (Basisklasse / NVI) + allocate() + deallocate() - do_allocate() - do_deallocate() sync_pool SynchronizedPoolResource - do_allocate() [thread-safe] - do_deallocate() [thread-safe] + release() + options() sync_pool->mr erbt von unsync_pool UnsynchronizedPoolResource - do_allocate() [thread-local] - do_deallocate() [thread-local] + release() + options() unsync_pool->mr erbt von

क्लास आरेख: Non-Virtual Interface (NVI) पैटर्न के अनुसार पॉलीमॉर्फिक मेमोरी संसाधनों का पदानुक्रम। स्रोत: SWArchitecture पृ. 61, [SWS_CORE_00030], [SWS_CORE_00041], [SWS_CORE_00061]

मौलिक यूटिलिटी और कंटेनर प्रकार (Optional, Array, Vector, Map)

अपरिभाषित व्यवहार से बचने और स्पष्ट सिमेंटिक्स सुनिश्चित करने के लिए, core प्राथमिक कंटेनरों और सहायक प्रकारों को मानकीकृत करता है। ara::core::Optional<T> उन मानों का प्रतिनिधित्व करता है जो मौजूद हो भी सकते हैं या नहीं भी, बिना असुरक्षित नल पॉइंटर्स का सहारा लिए ([SWS_CORE_01103], [SWS_CORE_01104], ARAComAPI पृ. 1)। स्थिति की क्वेरी has_value() या operator bool() के माध्यम से की जाती है, जबकि एक्सेस value(), value_or() या operator*() के माध्यम से होता है ([SWS_CORE_01128], [SWS_CORE_01129], [SWS_CORE_01130], [SWS_CORE_01134])। विशेष संदर्भ ओवरलोड्स Optional<T&> वैकल्पिक संदर्भों को सुरक्षित रूप से बनाए रखने की अनुमति देते हैं ([SWS_CORE_01151], [SWS_CORE_01167])।

निश्चित आकार की डेटा संरचनाओं के लिए, मॉड्यूल Array<T, N> प्रदान करता है, जो operator[] के माध्यम से प्रत्यक्ष अनुक्रमण, at() के माध्यम से सीमा-परीक्षण युक्त एक्सेस और मानक इटरेटर का समर्थन करता है ([SWS_CORE_01250], [SWS_CORE_01265], [SWS_CORE_01273])। तुलना ऑपरेटरों को bool रिटर्न और एक्सेप्शन सुरक्षा के साथ सख्त कोडिंग दिशानिर्देशों के अनुसार लागू किया जाता है ([SWS_CORE_01290], CPP14Guidelines पृ. 241)। गतिशील रूप से बढ़ते अनुक्रम और साहचर्य (एसोसिएटिव) कंटेनर Vector<T, Allocator> और Map<Key, T, Compare, Allocator> द्वारा कवर किए जाते हैं ([SWS_CORE_01318], [SWS_CORE_01428])। दोनों प्रकार कॉन्फ़िगर करने योग्य एलोकेटर स्वीकार करते हैं, जिससे आवंटन पॉलीमॉर्फिक MemoryResource पूल के माध्यम से निर्बाध रूप से संभाले जा सकते हैं ([SWS_CORE_00066], [SWS_CORE_01303], [SWS_CORE_01406])।

त्रुटि की स्थिति में व्यवहार और फेल-फास्ट समाप्ति

यदि कोई प्रक्रिया किसी गंभीर त्रुटि स्थिति की सुरक्षित रूप से क्षतिपूर्ति नहीं कर सकती है, तो Adaptive Platform का फेल-फास्ट सिद्धांत लागू होता है (SWArchitecture पृ. 60)। इंटरफ़ेस Abort() के माध्यम से चल रही प्रक्रिया की तत्काल, बिना शर्त समाप्ति की जाती है ([SWS_CORE_00052])। यह सुनिश्चित करने के लिए कि कोई भी स्टैक-अनवाइंडिंग रूटीन या डिस्ट्रक्टर गलत अनुवर्ती स्थितियाँ उत्पन्न न करें, फ़ंक्शन को [[noreturn]] और noexcept के रूप में घोषित किया गया है ([SWS_CORE_00052], SWArchitecture पृ. 36)।

समाप्त होने से पहले क्षणिक नैदानिक जानकारी को सुरक्षित करने या अंतिम आपातकालीन लॉगिंग क्रियाओं को निष्पादित करने के लिए, एप्लिकेशन SetAbortHandler() या AddAbortHandler() के माध्यम से उपयोगकर्ता-विशिष्ट कॉलबैक फ़ंक्शन पंजीकृत कर सकते हैं ([SWS_CORE_00050], [SWS_CORE_00051], [SWS_CORE_00054])। एक पंजीकृत अबॉर्ट-हैंडलर को void() noexcept हस्ताक्षर को पूरा करना होगा ([SWS_CORE_00053])। हैंडलर के निष्पादन के बाद, प्लेटफ़ॉर्म प्रक्रिया की अंतिम समाप्ति को बाध्य करता है, जिससे अपरिभाषित मेमोरी स्थिति में आगे चलना संभव नहीं होता है (SWArchitecture पृ. 60)।

AbortFlow error_detect गंभीर, अपूरणीय त्रुटि स्थिति call_abort Aufruf von ara::core::Abort(args...) error_detect->call_abort check_handler AbortHandler registriert? call_abort->check_handler exec_handler पंजीकृत AbortHandler का निष्पादन (निदान सहेजना, आपातकालीन लॉग लिखना) check_handler->exec_handler हाँ sys_terminate स्टैक-अनवाइंड के बिना तत्काल प्रोसेस समाप्ति ([[noreturn]] समाप्ति) check_handler->sys_terminate नहीं exec_handler->sys_terminate

गतिविधि आरेख: AbortHandler के निष्पादन के साथ Abort() के माध्यम से फेल-फास्ट समाप्ति का नियंत्रण प्रवाह। स्रोत: SWArchitecture पृ. 60, [SWS_CORE_00051], [SWS_CORE_00052]

आगे विस्तृत साक्ष्य

रिलीज़ R25-11 में core का विनिर्देश कई मानक निर्धारणों और वास्तुशिल्प मॉडलों पर आधारित है। प्रक्रिया जीवनचक्र और आपातकालीन स्टॉप व्यवहार के लिए, Initialize(), Deinitialize() के साथ-साथ Abort() और SetAbortHandler() घटक हैं ([SWS_CORE_00051], [SWS_CORE_00052], SWArchitecture पृ. 60)। एसिंक्रोनस संचार मॉडल मुख्य रूप से Future ([SWS_CORE_00326], [SWS_CORE_00329]) और Promise ([SWS_CORE_00344], [SWS_CORE_00345]) पर आधारित है, जिनकी परस्पर क्रिया अनुप्रयोग-उन्मुख क्लस्टरों जैसे कि ara::com और ara::ts में सत्यापित की जाती है (ARAComAPI पृ. 46, TimeSynchronization पृ. 90)।

त्रुटिरहित डेटा और मेमोरी प्रबंधन Result ([SWS_CORE_00751], [SWS_CORE_00766]), ErrorCode ([SWS_CORE_00512]) और PMR मेमोरी क्लास SynchronizedPoolResource तथा UnsynchronizedPoolResource के विनिर्देशों द्वारा मानकीकृत है ([SWS_CORE_00030], [SWS_CORE_00046], SWArchitecture पृ. 61)। इसके अतिरिक्त, कंटेनर और तुलना दिशानिर्देश सुरक्षा-महत्वपूर्ण समग्र प्रणालियों में नियतात्मक डेटा प्रबंधन को परिभाषित करते हैं ([SWS_CORE_01103], [SWS_CORE_01250], [SWS_CORE_01318], CPP14Guidelines पृ. 241)।

यह गाइड R25-11 के लिए AUTOSAR विनिर्देश के आधार पर एक AI क्यूरेशन सहायक द्वारा उत्पन्न की गई थी।

function: 1060 type alias: 101 class: 34 struct: 26 variable: 13 enumeration: 3

ara::core

Array क्लास

Implementation of std::array type from [array.syn] The implicitly-declared special member functions specified in [array.cons] are not expli ≙ std::array

एक्सेस get 4
template <std::size_t I, typename T, std::size_t N> constexpr T & get (Array< T, N > &a) noexcept; SWS_CORE_01282
template <std::size_t I, typename T, std::size_t N> constexpr T && get (Array< T, N > &&a) noexcept; SWS_CORE_01283
template <std::size_t I, typename T, std::size_t N> constexpr T const & get (const Array< T, N > &a) noexcept; SWS_CORE_01284
template <size_t I, class T, size_t N> constexpr const T && get (const Array< T, N > &&) noexcept; SWS_CORE_01286
तुलना != < <= == > >= 6
template <typename T, std::size_t N> bool operator!= (const Array< T, N > &lhs, const Array< T, N > &rhs) noexcept(noexcept(std::declval< T & >()==std::declval< T & >())); SWS_CORE_01291
template <typename T, std::size_t N> bool operator< (const Array< T, N > &lhs, const Array< T, N > &rhs) noexcept(noexcept(std::declval< T & >()==std::declval< T & >())); SWS_CORE_01292
template <typename T, std::size_t N> bool operator<= (const Array< T, N > &lhs, const Array< T, N > &rhs) noexcept(noexcept(std::declval< T & >()==std::declval< T & >())); SWS_CORE_01294
template <typename T, std::size_t N> bool operator== (const Array< T, N > &lhs, const Array< T, N > &rhs) noexcept(noexcept(std::declval< T & >()==std::declval< T & >())); SWS_CORE_01290
template <typename T, std::size_t N> bool operator> (const Array< T, N > &lhs, const Array< T, N > &rhs) noexcept(noexcept(std::declval< T & >()==std::declval< T & >())); SWS_CORE_01293
template <typename T, std::size_t N> bool operator>= (const Array< T, N > &lhs, const Array< T, N > &rhs) noexcept(noexcept(std::declval< T & >()==std::declval< T & >())); SWS_CORE_01295
अदला-बदली swap 1
template <typename T, std::size_t N> void swap (Array< T, N > &lhs, Array< T, N > &rhs) noexcept(noexcept(lhs.swap(rhs))); SWS_CORE_01296
BasicString क्लास

Implementation of std::pmr::basic_string type from [basic.string] ≙ std::pmr::basic_string

तुलना != < <= == > >= 18
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator!= (const BasicString< Allocator > &lhs, const Basic String< Allocator > &rhs) noexcept; SWS_CORE_03367
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator!= (const charT *lhs, const BasicString< Allocator > &rhs); SWS_CORE_03368
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator!= (const BasicString< Allocator > &lhs, const charT *rhs); SWS_CORE_03369
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator< (const BasicString< Allocator > &lhs, const Basic String< Allocator > &rhs) noexcept; SWS_CORE_03370
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator< (const BasicString< Allocator > &lhs, const charT *rhs); SWS_CORE_03371
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator< (const charT *lhs, const BasicString< Allocator > &rhs); SWS_CORE_03372
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator<= (const BasicString< Allocator > &lhs, const Basic String< Allocator > &rhs) noexcept; SWS_CORE_03376
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator<= (const BasicString< Allocator > &lhs, const charT *rhs); SWS_CORE_03377
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator<= (const charT *lhs, const BasicString< Allocator > &rhs); SWS_CORE_03378
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator== (const BasicString< Allocator > &lhs, const Basic String< Allocator > &rhs) noexcept; SWS_CORE_03364
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator== (const charT *lhs, const BasicString< Allocator > &rhs); SWS_CORE_03365
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator== (const BasicString< Allocator > &lhs, const charT *rhs); SWS_CORE_03366
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator> (const BasicString< Allocator > &lhs, const Basic String< Allocator > &rhs) noexcept; SWS_CORE_03373
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator> (const BasicString< Allocator > &lhs, const charT *rhs); SWS_CORE_03374
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator> (const charT *lhs, const BasicString< Allocator > &rhs); SWS_CORE_03375
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator>= (const BasicString< Allocator > &lhs, const Basic String< Allocator > &rhs) noexcept; SWS_CORE_03379
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator>= (const BasicString< Allocator > &lhs, const charT *rhs); SWS_CORE_03380
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> bool operator>= (const charT *lhs, const BasicString< Allocator > &rhs); SWS_CORE_03381
संयोजन + 12
template <typename Allocator> BasicString< Allocator > operator+ (const BasicString< Allocator > &lhs, const BasicString< Allocator > &rhs); SWS_CORE_03352
template <typename Allocator> BasicString< Allocator > operator+ (BasicString< Allocator > &&lhs, const BasicString< Allocator > &rhs); SWS_CORE_03353
template <typename Allocator> BasicString< Allocator > operator+ (const BasicString< Allocator > &lhs, BasicString< Allocator > &&rhs); SWS_CORE_03354
template <typename Allocator> BasicString< Allocator > operator+ (BasicString< Allocator > &&lhs, BasicString< Allocator > &&rhs); SWS_CORE_03355
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> BasicString< Allocator > operator+ (const charT *lhs, const Basic String< Allocator > &rhs); SWS_CORE_03356
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> BasicString< Allocator > operator+ (const charT *lhs, BasicString< Allocator > &&rhs); SWS_CORE_03357
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> BasicString< Allocator > operator+ (charT lhs, const BasicString< Allocator > &rhs); SWS_CORE_03358
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> BasicString< Allocator > operator+ (charT lhs, BasicString< Allocator > &&rhs); SWS_CORE_03359
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> BasicString< Allocator > operator+ (const BasicString< Allocator > &lhs, const charT *rhs); SWS_CORE_03360
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> BasicString< Allocator > operator+ (BasicString< Allocator > &&lhs, const charT *rhs); SWS_CORE_03361
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> BasicString< Allocator > operator+ (const BasicString< Allocator > &lhs, charT rhs); SWS_CORE_03362
template <typename Allocator, typename charT = typename std::allocator_traits<Allocator>::value_type> BasicString< Allocator > operator+ (BasicString< Allocator > &&lhs, charT rhs); SWS_CORE_03363
इनपुट/आउटपुट getline << >> 6
template <class charT = char, class traits = std::char_traits<char>, class Allocator = ara::core::PolymorphicAllocator<char>> std::basic_istream< charT, traits > & getline (std::basic_istream< charT, traits > &is, BasicString< Allocator > &str, charT delim); SWS_CORE_03401
template <class charT = char, class traits = std::char_traits<char>, class Allocator = ara::core::PolymorphicAllocator<char>> std::basic_istream< charT, traits > & getline (std::basic_istream< charT, traits > &&is, BasicString< Allocator > &str, charT delim); SWS_CORE_03402
template <class charT = char, class traits = std::char_traits<char>, class Allocator = ara::core::PolymorphicAllocator<char>> std::basic_istream< charT, traits > & getline (std::basic_istream< charT, traits > &is, BasicString< Allocator > &str); SWS_CORE_03403
template <class charT = char, class traits = std::char_traits<char>, class Allocator = ara::core::PolymorphicAllocator<char>> std::basic_istream< charT, traits > & getline (std::basic_istream< charT, traits > &&is, BasicString< Allocator > &str); SWS_CORE_03404
template <class charT = char, class traits = std::char_traits<char>, class Allocator = ara::core::PolymorphicAllocator<char>> std::basic_ostream< charT, traits > & operator<< (std::basic_ostream< charT, traits > &os, const BasicString< Allocator > &str); SWS_CORE_03400
template <class charT = char, class traits = std::char_traits<char>, class Allocator = ara::core::PolymorphicAllocator<char>> std::basic_istream< charT, traits > & operator>> (std::basic_istream< charT, traits > &is, BasicString< Allocator > &str); SWS_CORE_03399
रूपांतरण to_string 9
String to_string (int val); SWS_CORE_03382
String to_string (unsigned val); SWS_CORE_03383
String to_string (long val); SWS_CORE_03384
String to_string (unsigned long val); SWS_CORE_03385
String to_string (long long val); SWS_CORE_03386
String to_string (unsigned long long val); SWS_CORE_03387
String to_string (float val); SWS_CORE_03388
String to_string (double val); SWS_CORE_03389
String to_string (long double val); SWS_CORE_03390
अदला-बदली swap 1
template <typename Allocator> void swap (BasicString< Allocator > &lhs, BasicString< Allocator > &rhs); SWS_CORE_03296
अन्य stod stof stoi stol stold stoll stoul stoull 8
double stod (const ara::core::String &str, size_t *idx=nullptr); SWS_CORE_03397
float stof (const ara::core::String &str, size_t *idx=nullptr); SWS_CORE_03396
int stoi (const ara::core::String &str, size_t *idx=nullptr, int base=10); SWS_CORE_03391
long stol (const ara::core::String &str, size_t *idx=nullptr, int base=10); SWS_CORE_03392
long double stold (const ara::core::String &str, size_t *idx=nullptr); SWS_CORE_03398
long long stoll (const ara::core::String &str, size_t *idx=nullptr, int base=10); SWS_CORE_03394
unsigned long stoul (const ara::core::String &str, size_t *idx=nullptr, int base=10); SWS_CORE_03393
unsigned long long stoull (const ara::core::String &str, size_t *idx=nullptr, int base=10); SWS_CORE_03395
Bitset क्लास

Implementation of std::bitset type from [bitset] ≙ std::bitset

इनपुट/आउटपुट << >> 2
template <class CharT = char, class Traits = std::char_traits<CharT>, std::size_t N> std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const Bitset< N > &x); SWS_CORE_01756
template <class CharT, class Traits, std::size_t N> std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, Bitset< N > &x); SWS_CORE_01755
अन्य & | ˆ 3
template <std::size_t N> Bitset< N > operator& (const Bitset< N > &, const Bitset< N > &) noexcept; SWS_CORE_01752
template <std::size_t N> Bitset< N > operator| (const Bitset< N > &, const Bitset< N > &) noexcept; SWS_CORE_01753
template <std::size_t N> Bitset< N > operatorˆ (const Bitset< N > &, const Bitset< N > &) noexcept; SWS_CORE_01754
CoreErrorDomain क्लास

An error domain for errors originating from the ara::core Functional Cluster.

से इनहेरिट करता है ErrorDomain

CoreException क्लास

Exception type thrown for ara::core errors.

से इनहेरिट करता है Exception

ErrorCode क्लास

Encapsulation of an error code

निर्माण MakeErrorCode 2
constexpr ErrorCode MakeErrorCode (FutureErrc code, Error Domain::SupportDataType data) noexcept; SWS_CORE_00490
constexpr ErrorCode MakeErrorCode (CoreErrc code, ErrorDomain::Support DataType data) noexcept; SWS_CORE_05290
तुलना != == 2
constexpr bool operator!= (const ErrorCode &lhs, const ErrorCode &rhs) noexcept; SWS_CORE_00572
constexpr bool operator== (const ErrorCode &lhs, const ErrorCode &rhs) noexcept; SWS_CORE_00571
ErrorDomain क्लास

Encapsulation of an ErrorDomain

का आधार CoreErrorDomain, FutureErrorDomain

Exception क्लास

Base type for all ARA exception types

से इनहेरिट करता है std::exception

का आधार CoreException, FutureException

Executor क्लास

Provides an interface for a executing context, which asynchronously invokes Callable ([4] [func.wrap.func]) objects in a guaranteed thread-s

Future क्लास

Implementation of std::future from [future.syn] in [11] ≙ std::future

विशेषीकरण Future< void, E >

FutureErrorDomain क्लास

Error domain for errors originating from ara::core::Future and ara::core::Promise

से इनहेरिट करता है ErrorDomain

FutureException क्लास

Exception type thrown by ara::core::Future and ara::core::Promise

से इनहेरिट करता है Exception

hash क्लास

≙ [bitset]

in_place_index_t क्लास

Denote an index-distinguishing operation to be performed in-place

in_place_t क्लास

Denote an operation to be performed in-place

in_place_type_t क्लास

Denote a type-distinguishing operation to be performed in-place

InstanceSpecifier क्लास

Representation of an AUTOSAR Instance Specifier, which is basically an AUTOSAR shortName path wrapper.

तुलना != == 2
bool operator!= (ara::core::StringView lhs, const InstanceSpecifier &rhs) noexcept; SWS_CORE_08082
bool operator== (ara::core::StringView lhs, const InstanceSpecifier &rhs) noexcept; SWS_CORE_08081
is_nothrow_swappable क्लास

As per std::is_nothrow_swappable, see [meta.unary.prop] in [11] ≙ std::is_nothrow_swappable

Map क्लास

Implementation of std::pmr::map container from [map] ≙ std::pmr::map

अदला-बदली swap 1
template <class Key, class T, class Compare, class Allocator> void swap (Map< Key, T, Compare, Allocator > &lhs, Map< Key, T, Compare, Allocator > &rhs) noexcept(noexcept(lhs.swap(rhs))); SWS_CORE_01496
MemoryResource क्लास

Implementation of std::pmr::memory_resource type from [mem.res.class] ≙ std::pmr::memory_resource

का आधार MonotonicBufferResource, SynchronizedPoolResource, UnsynchronizedPoolResource

तुलना == 1
bool operator== (const MemoryResource &a, const MemoryResource &b) noexcept; SWS_CORE_06561
Monostate क्लास

≙ [variant]

एक्सेस get get_if holds_alternative visit 15
template <std::size_t I, typename... Types> constexpr variant_alternative_t< I, Variant< Types... > > & get ( Variant< Types... > &variant) noexcept; SWS_CORE_01613
template <std::size_t I, typename... Types> constexpr variant_alternative_t< I, Variant< Types... > > && get ( Variant< Types... > &&variant) noexcept; SWS_CORE_01614
template <std::size_t I, typename... Types> constexpr const variant_alternative_t< I, Variant< Types... > > & get (const Variant< Types... > &variant) noexcept; SWS_CORE_01615
template <std::size_t I, typename... Types> constexpr const variant_alternative_t< I, Variant< Types... > > && get (const Variant< Types... > &&variant) noexcept; SWS_CORE_01616
template <typename T, typename... Types> constexpr T & get (Variant< Types... > &variant) noexcept; SWS_CORE_01617
template <typename T, typename... Types> constexpr T && get (Variant< Types... > &&variant) noexcept; SWS_CORE_01618
template <typename T, typename... Types> constexpr const T & get (const Variant< Types... > &variant) noexcept; SWS_CORE_01619
template <typename T, typename... Types> constexpr const T && get (const Variant< Types... > &&variant) noexcept; SWS_CORE_01620
template <std::size_t I, typename... Types> std::add_pointer_t< variant_alternative_t< I, Variant< Types... > > > get_if (Variant< Types... > *variant) noexcept; SWS_CORE_01621
template <std::size_t I, typename... Types> std::add_pointer_t< const variant_alternative_t< I, Variant< Types... > > > get_if (const Variant< Types... > *variant) noexcept; SWS_CORE_01622
template <typename T, typename... Types> std::add_pointer_t< T > get_if (Variant< Types... > *variant) noexcept; SWS_CORE_01623
template <typename T, typename... Types> std::add_pointer_t< const T > get_if (const Variant< Types... > *variant) noexcept; SWS_CORE_01624
template <typename T, typename... Types> constexpr bool holds_alternative (const Variant< Types... > &variant) noexcept; SWS_CORE_01626
template <typename ReturnType, typename Visitor, typename... Variants> constexpr {<invoke-result-decltype-1>} visit (Visitor &&visitor, Variants &&... variants); SWS_CORE_01633
template <typename Visitor, typename... Variants> constexpr {<invoke-result-decltype-2>} visit (Visitor &&visitor, Variants &&... variants); SWS_CORE_01634
तुलना != < <= == > >= 12
template <typename... Types> constexpr bool operator!= (const Variant< Types... > &lhs, const Variant< Types... > &rhs); SWS_CORE_01628
constexpr bool operator!= (Monostate lhs, Monostate rhs) noexcept; SWS_CORE_01642
template <typename... Types> constexpr bool operator< (const Variant< Types... > &lhs, const Variant< Types... > &rhs); SWS_CORE_01629
constexpr bool operator< (Monostate lhs, Monostate rhs) noexcept; SWS_CORE_01643
template <typename... Types> constexpr bool operator<= (const Variant< Types... > &lhs, const Variant< Types... > &rhs); SWS_CORE_01631
constexpr bool operator<= (Monostate lhs, Monostate rhs) noexcept; SWS_CORE_01645
template <typename... Types> constexpr bool operator== (const Variant< Types... > &lhs, const Variant< Types... > &rhs); SWS_CORE_01627
constexpr bool operator== (Monostate lhs, Monostate rhs) noexcept; SWS_CORE_01641
template <typename... Types> constexpr bool operator> (const Variant< Types... > &lhs, const Variant< Types... > &rhs); SWS_CORE_01630
constexpr bool operator> (Monostate lhs, Monostate rhs) noexcept; SWS_CORE_01644
template <typename... Types> constexpr bool operator>= (const Variant< Types... > &lhs, const Variant< Types... > &rhs); SWS_CORE_01632
constexpr bool operator>= (Monostate lhs, Monostate rhs) noexcept; SWS_CORE_01646
अदला-बदली swap 1
template <typename... Types> void swap (Variant< Types... > &lhs, Variant< Types... > &rhs) noexcept(noexcept(lhs.swap(rhs))); SWS_CORE_01696
MonotonicBufferResource क्लास

Implementation of std::pmr::monotonic_buffer_resource type from [mem.res.monotonic.buffer] ≙ std::pmr::monotonic_buffer_resource

से इनहेरिट करता है MemoryResource

nullopt_t क्लास

Shall implement std::nullopt_t ≙ std::nullopt_t

Optional क्लास

Implementation of std::optional type from [optional.syn] ≙ std::optional

विशेषीकरण Optional< T & >

निर्माण make_optional 3
template <typename T> constexpr Optional< std::decay_t< T > > make_optional (T &&) noexcept(std::is_nothrow_move_constructible< T >::value); SWS_CORE_01138
template <typename T, typename... Args> constexpr Optional< T > make_optional (Args &&... args) noexcept(std::is_nothrow_constructible< T, Args... >::value); SWS_CORE_01139
template <typename T, typename U, typename... Args> constexpr Optional< T > make_optional (std::initializer_list< U > il, Args &&... args) noexcept(std::is_nothrow_constructible< T, std::initializer_list< U > &, Args &&... >::value); SWS_CORE_01140
तुलना != < <= == > >= 30
template <typename T, typename U> constexpr bool operator!= (const Optional< T > &, const Optional< U > &); SWS_CORE_01143
template <typename T, typename U> constexpr bool operator!= (const Optional< T > &, const U &); SWS_CORE_01176
template <typename T, typename U> constexpr bool operator!= (const U &, const Optional< T > &); SWS_CORE_01177
template <typename T> constexpr bool operator!= (const Optional< T > &, nullopt_t) noexcept; SWS_CORE_01188
template <typename T> constexpr bool operator!= (nullopt_t, const Optional< T > &) noexcept; SWS_CORE_01189
template <typename T, typename U> constexpr bool operator< (const Optional< T > &, const Optional< U > &); SWS_CORE_01144
template <typename T, typename U> constexpr bool operator< (const Optional< T > &, const U &); SWS_CORE_01178
template <typename T, typename U> constexpr bool operator< (const U &, const Optional< T > &); SWS_CORE_01179
template <typename T> constexpr bool operator< (const Optional< T > &, nullopt_t) noexcept; SWS_CORE_01190
template <typename T> constexpr bool operator< (nullopt_t, const Optional< T > &) noexcept; SWS_CORE_01191
template <typename T, typename U> constexpr bool operator<= (const Optional< T > &, const Optional< U > &); SWS_CORE_01146
template <typename T, typename U> constexpr bool operator<= (const Optional< T > &, const U &); SWS_CORE_01180
template <typename T, typename U> constexpr bool operator<= (const U &, const Optional< T > &); SWS_CORE_01181
template <typename T> constexpr bool operator<= (const Optional< T > &, nullopt_t) noexcept; SWS_CORE_01192
template <typename T> constexpr bool operator<= (nullopt_t, const Optional< T > &) noexcept; SWS_CORE_01193
template <typename T, typename U> constexpr bool operator== (const Optional< T > &, const Optional< U > &); SWS_CORE_01142
template <typename T, typename U> constexpr bool operator== (const Optional< T > &, const U &); SWS_CORE_01148
template <typename T, typename U> constexpr bool operator== (const U &, const Optional< T > &); SWS_CORE_01149
template <typename T> constexpr bool operator== (const Optional< T > &, nullopt_t) noexcept; SWS_CORE_01186
template <typename T> constexpr bool operator== (nullopt_t, const Optional< T > &) noexcept; SWS_CORE_01187
template <typename T, typename U> constexpr bool operator> (const Optional< T > &, const Optional< U > &); SWS_CORE_01145
template <typename T, typename U> constexpr bool operator> (const Optional< T > &, const U &); SWS_CORE_01182
template <typename T, typename U> constexpr bool operator> (const U &, const Optional< T > &); SWS_CORE_01183
template <typename T> constexpr bool operator> (const Optional< T > &, nullopt_t) noexcept; SWS_CORE_01194
template <typename T> constexpr bool operator> (nullopt_t, const Optional< T > &) noexcept; SWS_CORE_01195
template <typename T, typename U> constexpr bool operator>= (const Optional< T > &, const Optional< U > &); SWS_CORE_01147
template <typename T, typename U> constexpr bool operator>= (const Optional< T > &, const U &); SWS_CORE_01184
template <typename T, typename U> constexpr bool operator>= (const U &, const Optional< T > &); SWS_CORE_01185
template <typename T> constexpr bool operator>= (const Optional< T > &, nullopt_t) noexcept; SWS_CORE_01196
template <typename T> constexpr bool operator>= (nullopt_t, const Optional< T > &) noexcept; SWS_CORE_01197
अदला-बदली swap 1
template <typename T> void swap (Optional< T > &lhs, Optional< T > &rhs) noexcept(std::is_ nothrow_move_constructible< T >::value &&std::is_nothrow_move_ assignable< T >::value); SWS_CORE_01096
PolymorphicAllocator क्लास

Implementation of std::pmr::polymorphic_allocator from [mem.poly.allocator.class] ≙ std::pmr::polymorphic_allocator

तुलना == 1
template <class T1, class T2> bool operator== (const PolymorphicAllocator< T1 > &a, const PolymorphicAllocator< T2 > &b) noexcept; SWS_CORE_06560
PoolOptions क्लास

Implementation of std::pmr::pool_options from [mem.poly.pool_options.class] ≙ std::pmr::pool_options

Promise क्लास

ara::core specific variant of std::promise class The implementation shall flag the condition E!=ara::core::ErrorCode as a compile error. ≙ std::promise

विशेषीकरण Promise< void, E >

Result क्लास

This class is a type that contains either a value or an error

विशेषीकरण Result< T &, E > Result< void, E >

तुलना != == 10
template <typename T, typename E> bool operator!= (const Result< T, E > &lhs, const Result< T, E > &rhs); SWS_CORE_00781
template <typename T, typename E> bool operator!= (const Result< T, E > &lhs, const T &rhs); SWS_CORE_00784
template <typename T, typename E> bool operator!= (const T &lhs, const Result< T, E > &rhs); SWS_CORE_00785
template <typename T, typename E> bool operator!= (const Result< T, E > &lhs, const E &rhs); SWS_CORE_00788
template <typename T, typename E> bool operator!= (const E &lhs, const Result< T, E > &rhs); SWS_CORE_00789
template <typename T, typename E> bool operator== (const Result< T, E > &lhs, const Result< T, E > &rhs); SWS_CORE_00780
template <typename T, typename E> bool operator== (const Result< T, E > &lhs, const T &rhs); SWS_CORE_00782
template <typename T, typename E> bool operator== (const T &lhs, const Result< T, E > &rhs); SWS_CORE_00783
template <typename T, typename E> bool operator== (const Result< T, E > &lhs, const E &rhs); SWS_CORE_00786
template <typename T, typename E> bool operator== (const E &lhs, const Result< T, E > &rhs); SWS_CORE_00787
अदला-बदली swap 1
template <typename T, typename E> void swap (Result< T, E > &lhs, Result< T, E > &rhs) noexcept(noexcept(lhs.Swap(rhs))); SWS_CORE_00796
Span क्लास

Implementation of std::span container from [views.span] ≙ std::span

निर्माण MakeSpan 5
template <typename T> constexpr Span< T > MakeSpan (T *ptr, typename Span< T >::size_type count) noexcept; SWS_CORE_01990
template <typename T> constexpr Span< T > MakeSpan (T *firstElem, T *lastElem) noexcept; SWS_CORE_01991
template <typename T, std::size_t N> constexpr Span< T, N > MakeSpan (T(&arr)[N]) noexcept; SWS_CORE_01992
template <typename Container> constexpr Span< typename Container::value_type > MakeSpan (Container &cont) noexcept; SWS_CORE_01993
template <typename Container> constexpr Span< typename Container::value_type const > MakeSpan (const Container &cont) noexcept; SWS_CORE_01994
SteadyClock क्लास

This clock represents a monotonic clock

StringView क्लास

Implementation of std::basic_string_view type from [string.view] ≙ std::basic_string_view

तुलना != < <= == > >= 6
constexpr bool operator!= (StringView lhs, StringView rhs) noexcept; SWS_CORE_02182
constexpr bool operator< (StringView lhs, StringView rhs) noexcept; SWS_CORE_02183
constexpr bool operator<= (StringView lhs, StringView rhs) noexcept; SWS_CORE_02185
constexpr bool operator== (StringView lhs, StringView rhs) noexcept; SWS_CORE_02181
constexpr bool operator> (StringView lhs, StringView rhs) noexcept; SWS_CORE_02184
constexpr bool operator>= (StringView lhs, StringView rhs) noexcept; SWS_CORE_02186
इनपुट/आउटपुट << 1
SynchronizedPoolResource क्लास

Implementation of std::pmr::synchronized_pool_resource from [mem.res.pool] ≙ std::pmr::synchronized_pool_resource

से इनहेरिट करता है MemoryResource

Implementation of std::pmr::unsynchronized_pool_resource from [mem.res.pool] ≙ std::pmr::unsynchronized_pool_resource

से इनहेरिट करता है MemoryResource

Variant क्लास

Implementation of std::variant type from [basic.string] ≙ std::variant

Vector क्लास

Implementation of std::pmr::vector container from [vector] ≙ std::pmr::vector

तुलना != < <= == > >= 6
template <typename T, typename Allocator> bool operator!= (const Vector< T, Allocator > &lhs, const Vector< T, Allocator > &rhs); SWS_CORE_01391
template <typename T, typename Allocator> bool operator< (const Vector< T, Allocator > &lhs, const Vector< T, Allocator > &rhs); SWS_CORE_01392
template <typename T, typename Allocator> bool operator<= (const Vector< T, Allocator > &lhs, const Vector< T, Allocator > &rhs); SWS_CORE_01393
template <typename T, typename Allocator> bool operator== (const Vector< T, Allocator > &lhs, const Vector< T, Allocator > &rhs); SWS_CORE_01390
template <typename T, typename Allocator> bool operator> (const Vector< T, Allocator > &lhs, const Vector< T, Allocator > &rhs); SWS_CORE_01394
template <typename T, typename Allocator> bool operator>= (const Vector< T, Allocator > &lhs, const Vector< T, Allocator > &rhs); SWS_CORE_01395
अदला-बदली swap 1
template <typename T, typename Allocator> void swap (Vector< T, Allocator > &lhs, Vector< T, Allocator > &rhs) noexcept(noexcept(lhs.swap(rhs))); SWS_CORE_01396
Abort फ़ंक्शन

Abort the current operation This function will never return to its caller. The stack is not unwound: destructors of variables with automatic storage duration are not called. Calling this function is ill-formed if any of the arguments is not convertible to ara::core:: StringView.

template <typename... Args> [[noreturn]] void Abort (const Args &... args) noexcept;
AbortHandlerPrototype फ़ंक्शन

A function declaration with the correct prototype for ara::core::SetAbortHandler This declaration exists only for providing a function type that includes noexcept and that acts as base type for a type alias, which is defined in [SWS_CORE_00050]. This compensates for the fact that the C++ standard (up to and including C++14) prohibits that noexcept appears in an alias-declaration. There is no implementation of this function.

void AbortHandlerPrototype () noexcept;
AddAbortHandler फ़ंक्शन

Add a custom Abort handler function. Implementations support at least 8 AbortHandlers. Implementation false is returned when either the implementation-defined limit for number of abort handlers

bool AddAbortHandler (AbortHandler handler) noexcept;
as_bytes फ़ंक्शन

≙ [views.span]

template <typename ElementType, std::size_t Extent> Span< const Byte, Extent==dynamic_extent ? dynamic_extent :sizeof(ElementType) *Extent > as_bytes (Span< ElementType, Extent > s) noexcept;
as_writable_bytes फ़ंक्शन

≙ [views.span]

template <typename ElementType, std::size_t Extent> Span< Byte, Extent==dynamic_extent ? dynamic_extent :sizeof(Element Type) *Extent > as_writable_bytes (Span< ElementType, Extent > s) noexcept;
data फ़ंक्शन 4

Return a pointer to the block of memory that contains the elements of a container.

ओवरलोड data 4
template <typename Container> constexpr auto data (Container &c) noexcept(noexcept(c.data())) -> decltype(c.data()); SWS_CORE_04110
template <typename Container> constexpr auto data (const Container &c) noexcept(noexcept(c.data())) -> decltype(c.data()); SWS_CORE_04111
template <typename T, std::size_t N> constexpr T * data (T(&array)[N]) noexcept; SWS_CORE_04112
template <typename E> constexpr const E * data (std::initializer_list< E > il) noexcept; SWS_CORE_04113
Deinitialize फ़ंक्शन

Shutdown of the ARA Framework After this call, no interaction with the ARA is allowed with the exception of types intended to be used independently of initialization as defined in [SWS_CORE_15002]. As a prerequisite to calling this API it is expected that the use of ARA interfaces has completed (with the given exceptions). It is strongly recommended to make this call in a place where it is guaranteed that the static initialization has completed and destruction of statically initialized data has not yet started.

Result< void > Deinitialize () noexcept;
empty फ़ंक्शन 3

Return whether the given container is empty

ओवरलोड empty 3
template <typename Container> constexpr auto empty (const Container &c) noexcept(noexcept(c.empty())) -> decltype(c.empty()); SWS_CORE_04130
template <typename T, std::size_t N> constexpr bool empty (const T(&array)[N]) noexcept; SWS_CORE_04131
template <typename E> constexpr bool empty (std::initializer_list< E > il) noexcept; SWS_CORE_04132
GetCoreErrorDomain फ़ंक्शन

Return a reference to the global ara::core::CoreErrorDomain

constexpr const ErrorDomain & GetCoreErrorDomain () noexcept;
GetDefaultResource फ़ंक्शन

except for the following deviations: 1. Description references to std::pmr::new_delete_resource() are replaced by ara:: core::NewDeleteResource() 2. Description references to std::pmr::set_default_resource() are replaced by ara:: core::SetDefaultResource() 3. Return type std::pmr::memory_resource is replaced with ara::core:: MemoryResource ≙ std::pmr::new_delete_resource

MemoryResource * GetDefaultResource () noexcept;
GetFutureErrorDomain फ़ंक्शन

Obtain the reference to the single global ara::core::FutureErrorDomain instance.

constexpr const ErrorDomain & GetFutureErrorDomain () noexcept;
Initialize फ़ंक्शन

Initialization of the ARA framework. Prior to this call, interaction with the ARA is not allowed with the exception of types intended to be used independently of initialization as defined in [SWS_CORE_15002]. It is strongly recommended to make this call in a place where it is guaranteed that static initialization has completed.

Result< void > Initialize (int &argc, char **argv) noexcept;
NewDeleteResource फ़ंक्शन

except for the following deviations: 1. Return type std::pmr::memory_resource is replaced with ara::core:: MemoryResource ≙ std::pmr::memory_resource

MemoryResource * NewDeleteResource () noexcept;
NullMemoryResource फ़ंक्शन

except for the following deviations: 1. Return type std::pmr::memory_resource is replaced with ara::core:: MemoryResource 2. It’s allocate() function returns nullptr instead of throwing std::bad_alloc ≙ std::pmr::memory_resource

MemoryResource * NullMemoryResource () noexcept;
SetAbortHandler फ़ंक्शन

Add a custom Abort handler function and return the most recently added one. By setting nullptr, the implementation may restore the default handler instead; this will remove all previously installed handlers. Implementation This function can be called from multiple threads simultaneously; these calls are performed in an

AbortHandler SetAbortHandler (AbortHandler handler) noexcept;
SetDefaultResource फ़ंक्शन

except for the following deviations: 1. Description references to std::pmr::new_delete_resource() are replaced by ara:: core::NewDeleteResource() 2. Description references to std::pmr::get_default_resource() are replaced by ara:: core::GetDefaultResource() 3. Return type std::pmr::memory_resource is replaced with ara::core:: MemoryResource ≙ std::pmr::new_delete_resource

MemoryResource * SetDefaultResource (MemoryResource *r) noexcept;
size फ़ंक्शन 2

Return the size of a container

ओवरलोड size 2
template <typename Container> constexpr auto size (const Container &c) noexcept(noexcept(c.size())) -> decltype(c.size()); SWS_CORE_04120
template <typename T, std::size_t N> constexpr std::size_t size (const T(&array)[N]) noexcept; SWS_CORE_04121
CoreErrc एन्यूमरेशन

Defines all errors of the ara::core Functional Cluster

enum class CoreErrc : ErrorDomain::CodeType {...};
FutureErrc एन्यूमरेशन

Specifies the errors that can occur upon calling Future::get() or Future::GetResult().

enum class FutureErrc : ara::core::ErrorDomain::CodeType {...};
FutureStatus एन्यूमरेशन

Specifies the status of a ara::core::Future as returned by: • Future<T,E>::wait_for() • Future<void,E>::wait_for() • Future<T,E>::wait_until() • Future<void,E>::wait_until() These definitions are equivalent to the ones from std::future_status. However, no item equivalent to std::future_status::deferred is available here. Implementation The numerical values of the enum literals are implementation-defined ≙ std::future_status

enum class FutureStatus : std::uint8_t {...};
AbortHandler टाइप उपनाम

The type of a handler for ara::core::SetAbortHandler

using AbortHandler = decltype(&AbortHandlerPrototype);
Byte टाइप उपनाम

A non-integral binary type. The requirements on this type are stated in "See also:" Implementation {<byte-type>} shall be an implementation-defined type

using Byte = {<byte-type>};
String टाइप उपनाम

≙ [basic.string]

using String = BasicString<>;
variant_alternative_t टाइप उपनाम

≙ [variant]

using variant_alternative_t = typename variant_alternative<I, T>::type;

≙ [views.span]

constexpr std::size_t dynamic_extent = std::numeric_limits<std::size_ t>::max();
in_place चर

The singleton instance of ara::core::in_place_t

constexpr in_place_t in_place;

The singleton instances (one for each I of ara::core::in_place_index_t

template <std::size_t Index> constexpr in_place_index_t<Index> in_place_index {};

The singleton instances (one for each T) of ara::core::in_place_type_t

template <typename T> constexpr in_place_type_t<T> in_place_type;
nullopt चर

≙ [optional]

constexpr nullopt_t nullopt {};

≙ [variant]

template <typename T> constexpr std::size_t variant_size_v = variant_size<T>::value;

ara::core::literals::string_view_literals

string_view_ फ़ंक्शन

≙ [string.view]

constexpr StringView operator""_SV (const char *str, std::size_t len) noexcept;

std

hash (std) क्लास

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]

नेमस्पेस

मॉड्यूल का UML क्लास आरेख

Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.

G cluster_1 ara::core cluster_2 ara::core::Bitset cluster_3 ara::core::Map cluster_4 std nara__core__CoreErrorDomain113 CoreErrorDomain nara__core__ErrorDomain335 ErrorDomain nara__core__CoreErrorDomain113->nara__core__ErrorDomain335 nara__core__CoreException713 CoreException nara__core__Exception792 Exception nara__core__CoreException713->nara__core__Exception792 nextstd__exception28 std::exception nara__core__Exception792->nextstd__exception28 nara__core__FutureErrorDomain146 FutureErrorDomain nara__core__FutureErrorDomain146->nara__core__ErrorDomain335 nara__core__FutureException511 FutureException nara__core__FutureException511->nara__core__Exception792 nara__core__MemoryResource130 MemoryResource nara__core__MonotonicBufferResource118 MonotonicBufferResource nara__core__MonotonicBufferResource118->nara__core__MemoryResource130 nara__core__SynchronizedPoolResource481 SynchronizedPoolResource nara__core__SynchronizedPoolResource481->nara__core__MemoryResource130 nara__core__UnsynchronizedPoolResource176 UnsynchronizedPoolResource nara__core__UnsynchronizedPoolResource176->nara__core__MemoryResource130 nara__core__Array326 Array nara__core__BasicString716 BasicString nara__core__Bitset255 Bitset nara__core__ErrorCode330 ErrorCode nara__core__Executor877 Executor nara__core__Future930 Future nara__core__Future__void__E__740 Future< void, E > nara__core__hash88 «struct» hash nara__core__in_place_index_t938 «struct» in_place_index_t nara__core__in_place_t356 «struct» in_place_t nara__core__in_place_type_t306 «struct» in_place_type_t nara__core__InstanceSpecifier92 InstanceSpecifier nara__core__is_nothrow_swappable987 «struct» is_nothrow_swappable nara__core__Map274 Map nara__core__Monostate901 «struct» Monostate nara__core__nullopt_t64 «struct» nullopt_t nara__core__Optional627 Optional nara__core__Optional__T____62 Optional< T & > nara__core__PolymorphicAllocator970 PolymorphicAllocator nara__core__PoolOptions463 «struct» PoolOptions nara__core__Promise131 Promise nara__core__Promise__void__E__714 Promise< void, E > nara__core__Result167 Result nara__core__Result__T____E__551 Result< T &, E > nara__core__Result__void__E__788 Result< void, E > nara__core__Span436 Span nara__core__SteadyClock455 SteadyClock nara__core__StringView801 StringView nara__core__Variant465 Variant nara__core__variant_alternative370 «struct» variant_alternative nara__core__variant_alternative__I_433 «struct» variant_alternative< I, … > nara__core__variant_alternative__I__Variant__Types_______15 «struct» variant_alternative< I, Variant< Types... > > nara__core__variant_size885 «struct» variant_size nara__core__variant_size__const24 «struct» variant_size< const volatile T > nara__core__variant_size__const_T__418 «struct» variant_size< const T > nara__core__variant_size__Variant_60 «struct» variant_size< Variant< Types... > > nara__core__variant_size__volatile_T__105 «struct» variant_size< volatile T > nara__core__Vector473 Vector nara__core__Bitset__reference533 reference nara__core__Map__value_compare839 value_compare nstd__hash__ara__core__Monostate__722 «struct» hash< ara::core::Monostate > next_core__Monostate__802 :core::Monostate > nstd__hash__ara__core__Monostate__722->next_core__Monostate__802 nstd__hash__ara__core__Optional__T__781 «struct» hash< ara::core::Optional< T > next_core__Optional__T____961 :core::Optional< T > > nstd__hash__ara__core__Optional__T__781->next_core__Optional__T____961 nstd__hash__ara__core__String__667 «struct» hash< ara::core::String > next_core__String___final444 :core::String > final nstd__hash__ara__core__String__667->next_core__String___final444 nstd__hash__ara__core__StringView__122 «struct» hash< ara::core::StringView > next_core__StringView___final857 :core::StringView > final nstd__hash__ara__core__StringView__122->next_core__StringView___final857 nstd__hash__ara__core__Variant_545 «struct» hash< ara::core::Variant< next_core__Variant__Types__________________978 :core::Variant< Types...            > > nstd__hash__ara__core__Variant_545->next_core__Variant__Types__________________978 nstd__hash__ara__core__Vector__T__Allocator____942 «struct» hash< ara::core::Vector< T, Allocator > > next_core__Vector__T__Allocator_____final470 :core::Vector< T, Allocator > > final nstd__hash__ara__core__Vector__T__Allocator____942->next_core__Vector__T__Allocator_____final470 nstd__tuple_element__I__ara__core__Array__T__N____988 «struct» tuple_element< I, ara::core::Array< T, N > > next_core__Array__T__N____306 :core::Array< T, N > > nstd__tuple_element__I__ara__core__Array__T__N____988->next_core__Array__T__N____306 nstd__tuple_size__ara__core__Array__T_805 «struct» tuple_size< ara::core::Array< T, next_core__Array__T__N________________________integral__constant__size_548 :core::Array< T, N > > :                  integral_ constant< size_t, N > nstd__tuple_size__ara__core__Array__T_805->next_core__Array__T__N________________________integral__constant__size_548