अपवादों के बिना अलग-अलग थ्रेड्स में तेज़ आवंटन के लिए मेमोरी-बाउंड पूल्स का प्रबंधन करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 3445f931b524उद्गमखुले प्रश्न (3)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
अपवादों के बिना अलग-अलग थ्रेड्स में तेज़ आवंटन के लिए मेमोरी-बाउंड पूल्स का प्रबंधन करता है।
यह क्लास std::pmr::unsynchronized_pool_resource के मॉडल के आधार पर एक गैर-सिंक्रोनाइज़्ड मेमोरी पूल संसाधन लागू करता है और एक कॉन्फ़िगरेबल अपस्ट्रीम संसाधन के माध्यम से मेमोरी ब्लॉक्स का प्रबंधन करता है। आंतरिक पूल्स के माध्यम से यह बार-बार होने वाले मेमोरी अनुरोधों को कुशलतापूर्वक पूरा करता है, जिससे आवश्यकता पड़ने पर इंटरफ़ेस के माध्यम से अप्रयुक्त कुल मेमोरी को मुक्त किया जा सकता है [SWS_CORE_00065]। चूँकि आवंटन पथ थ्रेड-सुरक्षित डिज़ाइन नहीं किए गए हैं, इसलिए एक इंस्टेंस को हमेशा समवर्ती एक्सेस के बिना केवल एक ही निष्पादन संदर्भ के भीतर संचालित किया जाना चाहिए [SWS_CORE_00058]। मानक C++ के विपरीत, मेमोरी की कमी होने पर आवंटन कोई अपवाद थ्रो नहीं करता है, बल्कि एक नल पॉइंटर लौटाकर पूरी तरह से विफलताओं का संकेत देता है।
संदर्भ
क्लास ara::core::UnsynchronizedPoolResource AUTOSAR Adaptive में मानक [mem.res.pool] के अनुसार std::pmr::unsynchronized_pool_resource का एक कार्यान्वयन प्रदान करता है और बेस क्लास MemoryResource से व्युत्पन्न होता है। इसका मुख्य कार्य प्रत्यक्ष सिस्टम आवंटन की तुलना में विखंडन और प्रबंधन ओवरहेड को कम करने के लिए निश्चित चंक आकारों के आंतरिक पूल्स के माध्यम से आवर्ती मेमोरी अनुरोधों को संभालना है। इंस्टेंस एक उच्च-स्तरीय अपस्ट्रीम मेमोरी संसाधन से बड़े मेमोरी क्षेत्र प्राप्त करता है, जो MemoryResource* के रूप में जुड़ा होता है और विधि upstream_resource() के माध्यम से क्वेरी किया जा सकता है [SWS_CORE_00056]।
आंतरिक चंक्स और पूल सीमाओं का व्यवहार प्रकार PoolOptions के कॉन्फ़िगरेशन पैरामीटर्स द्वारा नियंत्रित होता है, जिन्हें options() के माध्यम से देखा जा सकता है [SWS_CORE_00057]। इसके अतिरिक्त, ओवरराइड की गई विधि do_is_equal() समानता के लिए अन्य मेमोरी संसाधनों के साथ रनटाइम तुलना की अनुमति देती है [SWS_CORE_00060]। इस प्रकार यह क्लास अनुरोधकर्ता निष्पादन संदर्भ और अंतर्निहित अपस्ट्रीम संसाधन के बीच एक मध्यस्थ के रूप में कार्य करता है।
एक इंस्टेंस बनाने के लिए कई कंस्ट्रक्टर्स उपलब्ध हैं: एक पैरामीटर रहित डिफ़ॉल्ट कंस्ट्रक्टर [SWS_CORE_00063], एक अपस्ट्रीम संसाधन [SWS_CORE_00064], कॉन्फ़िगरेशन विकल्प [SWS_CORE_00068] या दोनों को मिलाकर स्पष्ट रूप से पास करने वाले कंस्ट्रक्टर्स [SWS_CORE_00067]। कॉपी ऑपरेशन्स पूरी तरह से प्रतिबंधित हैं; कॉपी कंस्ट्रक्टर [SWS_CORE_00046] और कॉपी असाइनमेंट ऑपरेटर [SWS_CORE_00047] दोनों हटा दिए गए हैं (delete)। हालाँकि, ISO-14882 मानक के विपरीत, AUTOSAR स्पष्ट रूप से मूव सेमांटिक्स को परिभाषित करता है: मूव कंस्ट्रक्टर [SWS_CORE_00048] और मूव असाइनमेंट ऑपरेटर [SWS_CORE_00049], noexcept=default के रूप में उपलब्ध हैं।
संचालन के दौरान, अपस्ट्रीम संसाधन से आवंटित पूरी मेमोरी को पूल ऑब्जेक्ट को स्वयं नष्ट किए बिना release() को कॉल करके मुक्त किया जा सकता है [SWS_CORE_00065]। जीवनचक्र का अंत डिस्ट्रक्टर ~UnsynchronizedPoolResource() द्वारा निर्धारित होता है, जिसे noexcept override के रूप में घोषित किया गया है, लेकिन इसमें AUTOSAR का महत्वपूर्ण विचलन है कि यह वर्चुअल नहीं है [SWS_CORE_00062]।
समवर्तीता के संबंध में, क्लास सिंक्रोनाइज़्ड नहीं है: संरक्षित आवंटन और विमोचन फ़ंक्शन्स do_allocate()[SWS_CORE_00058] और do_deallocate()[SWS_CORE_00059] स्पष्ट रूप से गैर-थ्रेड-सुरक्षित निर्दिष्ट हैं। इसके विपरीत, कंस्ट्रक्टर्स, upstream_resource()[SWS_CORE_00056] और options()[SWS_CORE_00057] जैसे इंस्पेक्टर्स, साथ ही release()[SWS_CORE_00065] और डिस्ट्रक्टर को थ्रेड-सुरक्षित के रूप में वर्गीकृत किया गया है।
उपयोग पथ
एक विशिष्ट उपयोग पथ में इंस्टेंसिएशन, बार-बार मेमोरी आवंटन और विमोचन, तथा अंतिम क्लीनअप शामिल हैं:
आरंभीकरण: कॉलर वांछित PoolOptions और एक अपस्ट्रीम संसाधन [SWS_CORE_00067] निर्दिष्ट करके इंस्टेंस बनाता है।
आवंटन: मेमोरी बेस क्लास इंटरफ़ेस के माध्यम से प्राप्त की जाती है, जो do_allocate() को डेलिगेट करता है [SWS_CORE_00058]। व्याख्या: यदि आंतरिक पूल में कोई उपयुक्त ब्लॉक खाली नहीं है, तो अपस्ट्रीम संसाधन से उसके नियमित आवंटन इंटरफ़ेस के माध्यम से नई चंक मेमोरी का अनुरोध किया जाता है। प्रश्न Q-ca9abd7b5da1a39f (खुला)
डी-आवंटन: मुक्त किए जाने वाले ब्लॉक्स do_deallocate() को सौंप दिए जाते हैं और बाद के अनुरोधों के लिए आंतरिक पूल में वापस भेज दिए जाते हैं [SWS_CORE_00059]।
संसाधन रीसेट: पुन: उपयोग से पहले या शटडाउन से पहले, अपस्ट्रीम मेमोरी ब्लॉक्स को बंडल रूप में वापस करने के लिए release() को कॉल किया जा सकता है [SWS_CORE_00065]।
विनाश: ऑब्जेक्ट को उसके स्कोप के अंत में उसके ठोस प्रकार के माध्यम से नियमित रूप से नष्ट कर दिया जाता है [SWS_CORE_00062]।
AUTOSAR बिना किसी अपवाद के नियतात्मक रनटाइम व्यवहार की आवश्यकताओं को पूरा करने के लिए ara::core::UnsynchronizedPoolResource के लिए मानक C++ से विशिष्ट विचलन परिभाषित करता है:
आवंटन पर मेमोरी की कमी: यदि do_allocate() में कोई मेमोरी अनुरोध विफल हो जाता है, तो कोई std::bad_alloc अपवाद थ्रो नहीं किया जाता है। फ़ंक्शन को noexcept के रूप में घोषित किया गया है और यह इसके बजाय सख्ती से nullptr लौटाता है [SWS_CORE_00058]। इसलिए कॉलर्स को रिटर्न मानों की लगातार nullptr के लिए जाँच करनी चाहिए।
डी-आवंटन पर त्रुटि: यदि do_deallocate() के माध्यम से विमोचन विफल हो जाता है, तो अपवादों का प्रसार किए बिना त्रुटि को चुपचाप अनदेखा कर दिया जाता है (\"silently ignored\") [SWS_CORE_00059]।
बहुरूपी विनाश: चूँकि डिस्ट्रक्टर [mem.res.pool] से विचलित होकर स्पष्ट रूप से गैर-वर्चुअल है [SWS_CORE_00062], व्याख्या: बेस क्लास MemoryResource* के पॉइंटर के माध्यम से विनाश अपरिभाषित व्यवहार की ओर ले जा सकता है। प्रश्न Q-68ed70c0b6a907a3 (खुला) इंस्टेंसेस को हमेशा उनके व्युत्पन्न प्रकार के माध्यम से नष्ट किया जाना चाहिए।
निर्माण के समय अपवाद सुरक्षा: जहाँ विकल्पों और अपस्ट्रीम संसाधन वाले कंस्ट्रक्टर को noexcept माना जाता है [SWS_CORE_00067], वहीं डिफ़ॉल्ट कंस्ट्रक्टर [SWS_CORE_00063] के साथ-साथ कंस्ट्रक्टर्स [SWS_CORE_00064] और [SWS_CORE_00068] को गैर-अपवाद-सुरक्षित के रूप में चिह्नित किया गया है। व्याख्या: इन कंस्ट्रक्टर्स में अपवाद सुरक्षा की कमी इस तथ्य के कारण हो सकती है कि आरंभीकरण के दौरान अपस्ट्रीम संसाधन से पूर्व-आवंटन विफल हो सकते हैं। प्रश्न Q-8e2bbf2053947649 (खुला)
यह गाइड core मॉड्यूल के लिए Release R25-11 के AUTOSAR Adaptive विनिर्देशों पर आधारित है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: f284e1fe400cउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
[SWS_CORE_00046] के अनुसार ara::core::UnsynchronizedPoolResource में कॉपी कंस्ट्रक्टर को हटाए गए (=delete) के रूप में घोषित करना पूल इंस्टेंस के किसी भी दोहराव को रोकता है। ऑब्जेक्ट निर्माण के लिए इसके बजाय विशिष्ट कंस्ट्रक्टर उपलब्ध हैं, जैसे कि बिना तर्क [SWS_CORE_00063], अपस्ट्रीम मेमोरी संसाधन [SWS_CORE_00064] के विनिर्देश के साथ, PoolOptions[SWS_CORE_00068] के साथ या दोनों पैरामीटर [SWS_CORE_00067] के साथ।
उपयोग और रनटाइम व्यवहार के लिए निम्नलिखित रूपरेखा शर्तें लागू होती हैं:
कॉल और त्रुटि प्रबंधन: प्रतिलिपि बनाने का प्रयास कंपाइलर द्वारा संकलन समय पर ही त्रुटि के रूप में अस्वीकार कर दिया जाता है। do_allocate के माध्यम से बाद के मेमोरी उपयोग में आवंटन त्रुटियां अपवादों की ओर नहीं ले जाती हैं, बल्कि nullptr लौटाती हैं [SWS_CORE_00058], जबकि do_deallocate में रिलीज त्रुटियों को चुपचाप अनदेखा कर दिया जाता है [SWS_CORE_00059]।
समवर्तीता: इंस्टेंस पर व्यक्तिगत मेमोरी ऑपरेशनों को थ्रेड-सुरक्षित नहीं घोषित किया गया है [SWS_CORE_00058], [SWS_CORE_00059]। व्याख्या: कॉपी कंस्ट्रक्टर को हटाना प्रबंधित मेमोरी ब्लॉकों के लिए अनन्य जिम्मेदारी सुनिश्चित कर सकता है और समानांतर उपयोग या release[SWS_CORE_00065] के माध्यम से समयपूर्व रिलीज के दौरान असंगत स्थितियों को रोक सकता है। प्रश्न Q-d97dd87dddb2379d (खुला)
पारस्परिक क्रिया: यह प्रतिबंध समान रूप से हटाए गए असाइनमेंट ऑपरेटर [SWS_CORE_00047] से मेल खाता है। वर्ग का डिस्ट्रक्टर गैर-वर्चुअल रूप से कार्यान्वित किया गया है [SWS_CORE_00062], जबकि पहचान जांच do_is_equal[SWS_CORE_00060] के माध्यम से की जा सकती है।
यह पाठ एक AI द्वारा तैयार किया गया था; यह AUTOSAR विनिर्देश को पढ़ने का विकल्प नहीं है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 6b94e396e900उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
ara::core::UnsynchronizedPoolResource का कॉपी असाइनमेंट ऑपरेटर [SWS_CORE_00047] के अनुसार स्पष्ट रूप से हटाए गए (=delete) के रूप में घोषित किया गया है। इसलिए एक इंस्टेंस को दूसरे में असाइन करना सिंटैक्टिक रूप से बहिष्कृत है और कंपाइल समय पर ही कंपाइलर त्रुटि की ओर ले जाता है। हटाए गए कॉपी कंस्ट्रक्टर [SWS_CORE_00046] के साथ मिलकर, यह सुनिश्चित करता है कि संसाधन वर्ग के इंस्टेंस न तो कॉपी किए जा सकते हैं और न ही असाइनमेंट द्वारा डुप्लिकेट किए जा सकते हैं। Interpretation: इससे संभवतः आंतरिक मेमोरी ब्लॉक और प्रबंधन जानकारी को एकाधिक बार संदर्भित होने या त्रुटिपूर्ण रूप से डीएलोकेट होने से रोका जा सकेगा। प्रश्न Q-75cee08bebc61976 (खुला)
इसके बजाय नए इंस्टेंस प्रदान किए गए कंस्ट्रक्टरों के माध्यम से बनाए जाते हैं, उदाहरण के लिए [SWS_CORE_00063] के माध्यम से पैरामीटर रहित, [SWS_CORE_00064] के माध्यम से अपस्ट्रीम संसाधन के साथ या [SWS_CORE_00067] अथवा [SWS_CORE_00068] के माध्यम से PoolOptions निर्दिष्ट करके। लिंक किए गए अपस्ट्रीम संसाधन को [SWS_CORE_00056] के माध्यम से और कॉन्फ़िगरेशन विकल्पों को [SWS_CORE_00057] के माध्यम से क्वेरी किया जा सकता है। प्रबंधित मेमोरी को [SWS_CORE_00065] के साथ स्पष्ट रूप से मुक्त किया जा सकता है, इससे पहले कि गैर-वर्चुअल डिस्ट्रक्टर [SWS_CORE_00062] के साथ जीवनकाल समाप्त हो जाए।
चूँकि [SWS_CORE_00047] द्वारा असाइनमेंट बहिष्कृत हैं, आवश्यकता पड़ने पर इंस्टेंस को संदर्भ (reference) या पॉइंटर द्वारा पारित किया जाना चाहिए। यहाँ यह ध्यान दिया जाना चाहिए कि [SWS_CORE_00058] के माध्यम से आवंटन (allocations) और [SWS_CORE_00059] के माध्यम से डीएलोकेशन थ्रेड-सुरक्षित नहीं के रूप में विनिर्दिष्ट हैं। यदि मेमोरी अनुरोध विफल हो जाता है, तो कोई अपवाद ट्रिगर नहीं होता है, बल्कि nullptr लौटाया जाता है [SWS_CORE_00058]; डीएलोकेशन के दौरान त्रुटियों को चुपचाप अनदेखा कर दिया जाता है [SWS_CORE_00059]।
यह उपयोग नोट एक AI द्वारा जनरेट किया गया था और यह किसी मैन्युअल जाँच की जगह नहीं लेता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 1faa09f94501उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
वर्ग ara::core::UnsynchronizedPoolResource की विधि upstream_resource() पैरेंट MemoryResource के लिए समकालिक रूप से एक पॉइंटर लौटाती है [SWS_CORE_00056]। कॉल पैरामीटर रहित है और const के रूप में घोषित है। एकीकरण और प्रकार घोषणाएँ हेडर फ़ाइल #include "ara/core/memory_resource.h"[SWS_CORE_00056] के माध्यम से होती हैं।
त्रुटि प्रबंधन
फ़ंक्शन को noexcept साथ ही exception safe के रूप में विनिर्दिष्ट किया गया है [SWS_CORE_00056]। यह कोई अपवाद ट्रिगर नहीं करता है और न तो विशिष्ट त्रुटि कोड और न ही DET या DEM घटनाओं की रिपोर्ट करता है। यदि कंस्ट्रक्टरों के माध्यम से पिछला आरंभीकरण विफल हो जाता है, तो वे आंशिक रूप से अपवाद-सुरक्षित नहीं होते हैं [SWS_CORE_00063], जबकि क्वेरी स्वयं हमेशा त्रुटि-मुक्त रहती है।
समवर्तीता और प्रतिबंध
विधि upstream_resource() को स्पष्ट रूप से thread-safe के रूप में वर्गीकृत किया गया है [SWS_CORE_00056]। यह आंतरिक आवंटन रूटीन do_allocate()[SWS_CORE_00058] और do_deallocate()[SWS_CORE_00059] के विपरीत है, जो not thread-safe के रूप में विनिर्दिष्ट हैं। इसके अतिरिक्त, वर्ग के कॉपी कंस्ट्रक्टर और असाइनमेंट ऑपरेटर हटा दिए गए हैं [SWS_CORE_00046], [SWS_CORE_00047]।
इंटरैक्शन
विधि UnsynchronizedPoolResource के कंस्ट्रक्टरों के साथ निकटता से इंटरैक्ट करती है, जिन्हें वैकल्पिक रूप से पैरेंट MemoryResource पास किया जा सकता है [SWS_CORE_00064], [SWS_CORE_00067]। Interpretation: लौटाया गया पॉइंटर संभवतः इंस्टेंसिएट करते समय निर्धारित MemoryResource के सटीक इंस्टेंस को संदर्भित करता है। प्रश्न Q-aefbc7d0f7d085d1 (खुला) पूल संसाधन के आगे के गुणों को options()[SWS_CORE_00057] के माध्यम से क्वेरी किया जा सकता है, जबकि आवंटित मेमोरी को release()[SWS_CORE_00065] के माध्यम से जारी किया जा सकता है।
यह उपयोग निर्देश विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 0e89c24bf535उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
क्लास ara::core::UnsynchronizedPoolResource का मेंबर फ़ंक्शन options() मेमोरी पूल कॉन्फ़िगरेशन की सिंक्रोनस क्वेरी के लिए उपयोग किया जाता है [SWS_CORE_00057]। मेथड #include "ara/core/memory_resource.h" में घोषित है, किसी इनपुट पैरामीटर की अपेक्षा नहीं करता है और मान के रूप में PoolOptions प्रकार का एक इंस्टेंस लौटाता है [SWS_CORE_00057]। एक const-योग्य फ़ंक्शन के रूप में, यह ऑब्जेक्ट को संशोधित नहीं करता है और [mem.res.pool][SWS_CORE_00057] में विनिर्देश के अनुसार व्यवहार करता है।
त्रुटि प्रबंधन और अपवाद-सुरक्षा
इंटरफ़ेस को noexcept के रूप में परिभाषित किया गया है और यह पूर्ण अपवाद-सुरक्षा (exception safe) की गारंटी देता है [SWS_CORE_00057]। कोई अपवाद नहीं फेंके जाते हैं और कोई त्रुटि रिटर्न मान मौजूद नहीं हैं; विकल्पों की प्राप्ति हमेशा त्रुटिरहित होती है।
समवर्तीता और प्रतिबंध
विनिर्देश में options() को थ्रेड-सुरक्षित (thread-safe) के रूप में निर्दिष्ट किया गया है [SWS_CORE_00057]। यह उसी क्लास के आवंटन फ़ंक्शनों जैसे कि do_allocate[SWS_CORE_00058] और do_deallocate[SWS_CORE_00059] के विपरीत है, जो स्पष्ट रूप से थ्रेड-सुरक्षित नहीं हैं। इस प्रकार स्थिति क्वेरी के लिए विधि को समवर्ती रूप से निष्पादित किया जा सकता है।
As per corresponding usage in [mem.res.pool] except for the following deviations: 1. The function is noexcept 2. The function returns nullptr instead of (potentially) throwing a std::bad_alloc exception
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 1abf1e899f64उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
वर्ग ara::core::UnsynchronizedPoolResource का मेथड do_allocate अनुरोधित बाइट आकार (bytes) और संरेखण (alignment) के लिए मेमोरी आवंटित करता है [SWS_CORE_00058]। व्याख्या: चूँकि मेथड संरक्षित दृश्यता (protected) के साथ निर्दिष्ट है, यह सामान्य प्रवाह में एप्लिकेशन कोड द्वारा सीधे नहीं, बल्कि बेस क्लास के आवंटन इंटरफ़ेस के माध्यम से अप्रत्यक्ष रूप से कॉल किया जा सकता है। प्रश्न Q-5a702813496f8071 (खुला) घोषणा हेडर फ़ाइल #include "ara/core/memory_resource.h"[SWS_CORE_00058] के माध्यम से की जाती है।
त्रुटि प्रबंधन
[mem.res.pool] के अनुसार मानक व्यवहार के विपरीत, फ़ंक्शन को noexcept के रूप में घोषित किया गया है और यह आवंटन त्रुटियों पर std::bad_alloc[SWS_CORE_00058] जैसा कोई अपवाद नहीं फेंकता है। इसके बजाय, विफलता के मामले में यह अनिवार्य रूप से nullptr लौटाता है [SWS_CORE_00058]। इसलिए कॉलिंग कोड को हमेशा परिणाम की स्पष्ट रूप से नल पॉइंटर के लिए जांच करनी चाहिए।
समवर्तीता और प्रतिबंध
फ़ंक्शन को not thread-safe के रूप में वर्गीकृत किया गया है [SWS_CORE_00058]। बाहरी तुल्यकालन के बिना UnsynchronizedPoolResource के समान इंस्टेंस पर समानांतर कॉल अस्वीकार्य हैं। वर्ग के कॉपी कंस्ट्रक्टर और असाइनमेंट ऑपरेटर को हटा दिया गया है (delete), ताकि इंस्टेंस की प्रतिलिपि न बनाई जा सके ([SWS_CORE_00046], [SWS_CORE_00047])।
इंटरैक्शन
मेमोरी रिलीज के लिए समकक्ष do_deallocate मौजूद है, जो संरक्षित, noexcept और गैर-थ्रेड-सुरक्षित भी है तथा त्रुटियों को चुपचाप अनदेखा करता है [SWS_CORE_00059]। पूल आंतरिक रूप से इंस्टैंशिएशन के समय कॉन्फ़िगर किए गए अपस्ट्रीम संसाधन का उपयोग करता है ([SWS_CORE_00056], [SWS_CORE_00064], [SWS_CORE_00067])। release() के साथ, पूल से प्राप्त मेमोरी को बंडल के रूप में मुक्त किया जा सकता है [SWS_CORE_00065]।
यह पाठ एक AI द्वारा उत्पन्न किया गया था और पूरी तरह से रिलीज़ R25-11 के विनिर्देशों पर आधारित है।
As per corresponding usage in [mem.res.pool] except for the following deviations: 1. The function is noexcept 2. If unsuccessful: errors will be silently ignored
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: cf9c9d0f03e7उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
वर्चुअल सदस्य फ़ंक्शन do_deallocate को ara::core::UnsynchronizedPoolResource (हेडर #include "ara/core/memory_resource.h") के स्कोप में protected के रूप में घोषित किया गया है [SWS_CORE_00059]। यह पास किए गए पैरामीटर p (मेमोरी क्षेत्र का सूचक), bytes (बाइट में आकार) और alignment (संरेखण) के आधार पर मेमोरी ब्लॉक के समकालिक डी-आवंटन को संभालता है। व्याख्या: एक संरक्षित मेथड के रूप में, यह कॉल आमतौर पर मेमोरी संसाधन के सार्वजनिक इंटरफ़ेस के माध्यम से अप्रत्यक्ष रूप से हो सकता है। प्रश्न Q-f4992f515c10ee01 (खुला)
त्रुटि प्रबंधन
[mem.res.pool] में मानक व्यवहार की तुलना में, फ़ंक्शन दो विशिष्ट विचलन प्रदर्शित करता है: इसे noexcept के रूप में घोषित किया गया है और इस प्रकार यह अपवाद-सुरक्षित है [SWS_CORE_00059]। यदि डी-आवंटन विफल रहता है, तो त्रुटियों को चुपचाप अनदेखा कर दिया जाता है (errors will be silently ignored); न तो कोई त्रुटि कोड मौजूद है और न ही कोई अलग त्रुटि संदेश।
समवर्तीता और प्रतिबंध
ऑपरेशन को स्पष्ट रूप से थ्रेड-सुरक्षित नहीं (not thread-safe) के रूप में इंगित किया गया है [SWS_CORE_00059]। यदि समान संसाधन इंस्टेंस के मेमोरी क्षेत्रों को एकाधिक थ्रेड्स से मुक्त किया जाता है, तो एक्सेस को अनिवार्य रूप से बाह्य रूप से सिंक्रोनाइज़ किया जाना चाहिए।
इंटरैक्शन
मेथड do_allocate[SWS_CORE_00058] का पूरक है, जिसे noexcept और गैर-थ्रेड-सुरक्षित के रूप में भी निर्दिष्ट किया गया है तथा विफलता पर nullptr लौटाता है। पूल की संपूर्ण आरक्षित मेमोरी को पूरी तरह से मुक्त करने के लिए, थ्रेड-सुरक्षित मेथड release उपलब्ध है [SWS_CORE_00065]। वर्ग के इंस्टेंस प्रतिलिपि योग्य नहीं हैं, क्योंकि कॉपी कंस्ट्रक्टर [SWS_CORE_00046] और असाइनमेंट ऑपरेटर [SWS_CORE_00047] हटा दिए गए हैं।
यह उपयोग नोट AUTOSAR विनिर्देश R25-11 के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 73b01a5b5d45उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::core::UnsynchronizedPoolResource का संरक्षित सदस्य फ़ंक्शन do_is_equal[SWS_CORE_00060] के अनुसार मेमोरी संसाधनों के लिए समानता तुलना करता है। यह हेडर ara/core/memory_resource.h के माध्यम से प्रदान किया जाता है। चूंकि विधि में protected दृश्यता है, यह बेस क्लास MemoryResource ([SWS_CORE_00060]) के माध्यम से आंतरिक कॉल के लिए अभीष्ट है। यह समकालिक रूप से वर्तमान इंस्टेंस की तुलना MemoryResource प्रकार के पास किए गए संदर्भ से करता है और bool-मान लौटाता है ([SWS_CORE_00060])। [mem.res.pool] के अनुसार, तुलना आम तौर पर दोनों संसाधनों की पहचान (this == &other) की जाँच करती है, क्योंकि मेमोरी पूल अलग-थलग काम करते हैं। प्रश्न Q-679a5e17d2e2903f (खुला)
विधि को noexcept के रूप में घोषित किया गया है और इसका विनिर्देश exception safe है ([SWS_CORE_00060])। यह कोई अपवाद उत्पन्न नहीं करती है और किसी DET या DEM त्रुटि संदेश का उपयोग नहीं करती है।
समवर्तीता (concurrency) के संबंध में, do_is_equal को thread-safe के रूप में वर्गीकृत किया गया है ([SWS_CORE_00060])। चूंकि यह एक स्थिर (constant) सदस्य फ़ंक्शन के रूप में विशेष रूप से केवल-पठन (read-only) कार्य करता है, इसे कई थ्रेड्स द्वारा समवर्ती रूप से कॉल किया जा सकता है। यह do_allocate ([SWS_CORE_00058]) और do_deallocate ([SWS_CORE_00059]) जैसे आवंटन परिचालनों के विपरीत है, जो स्पष्ट रूप से थ्रेड-सुरक्षित नहीं हैं।
As per corresponding usage in [mem.res.pool] except for the following deviations: 1. The function is not virtual
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 4b99104ceb2cउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
डिस्ट्रक्टर ~UnsynchronizedPoolResource() ([SWS_CORE_00062]) हेडर ara/core/memory_resource.h से मेमोरी क्लास ara::core::UnsynchronizedPoolResource के एक इंस्टेंस के जीवनकाल को समाप्त करता है। कॉल सिंक्रोनस रूप से होता है और इसे noexcept के रूप में घोषित किया गया है, जिससे यह ऑपरेशन अपवाद-सुरक्षित बन जाता है ([SWS_CORE_00062])।
सिमेंटिक्स मूल रूप से [mem.res.pool] में पूल के उपयोग के अनुरूप है, लेकिन इसमें एक महत्वपूर्ण विचलन है: डिस्ट्रक्टर वर्चुअल नहीं है ([SWS_CORE_00062])। व्याख्या: डिस्ट्रक्टर के गैर-वर्चुअल होने से संभवतः यह निष्कर्ष निकलता है कि इंस्टेंस को MemoryResource के बेस क्लास पॉइंटर के माध्यम से बहुरूपी (polymorphic) रूप से मुक्त नहीं किया जाना चाहिए। प्रश्न Q-5578b2bf008b98c5 (खुला)
जीवन चक्र और पारस्परिक क्रिया के संबंध में निम्नलिखित शर्तें लागू होती हैं:
संसाधन प्रबंधन: इंस्टेंस के नष्ट होने पर, उच्च-स्तरीय संसाधन ([SWS_CORE_00056]) की दिशा में release() ([SWS_CORE_00065]) के माध्यम से स्पष्ट रिलीज़ के अनुरूप प्रबंधित मेमोरी को मुक्त कर दिया जाता है।
समवर्तीता: यद्यपि डिस्ट्रक्टर को स्वयं थ्रेड-सुरक्षित के रूप में वर्गीकृत किया गया है ([SWS_CORE_00062]), आंतरिक एलोकेशन रूटीन do_allocate ([SWS_CORE_00058]) और do_deallocate ([SWS_CORE_00059]) गैर-थ्रेड-सुरक्षित के रूप में निर्दिष्ट हैं। इसलिए डिस्ट्रक्टर का कॉल उसी इंस्टेंस के एलोकेशन प्रक्रियाओं के साथ समकालिक रूप से नहीं होना चाहिए।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: b1a57ee10029उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
पैरामीटर रहित डिफ़ॉल्ट कंस्ट्रक्टर [SWS_CORE_00063][mem.res.pool] के सिमेंटिक्स के अनुसार ara::core::UnsynchronizedPoolResource के एक इंस्टेंस को प्रारंभ करता है। व्याख्या: ऐसा करते समय डिफ़ॉल्ट पूल विकल्पों और एक मानक अपस्ट्रीम मेमोरी संसाधन का उपयोग किया जाना चाहिए, जिन्हें बाद में [SWS_CORE_00057] और [SWS_CORE_00056] के माध्यम से पूछा जा सकता है। प्रश्न Q-d76bae1c251fa516 (खुला)
जीवन चक्र और उपयोग के संबंध में निम्नलिखित रूपरेखा शर्तें लागू होती हैं:
त्रुटि प्रबंधन और अपवाद सुरक्षा: कंस्ट्रक्टर को गैर-अपवाद-सुरक्षित (not exception safe) [SWS_CORE_00063] घोषित किया गया है। बाद के मेमोरी संचालन में, मेमोरी ऑपरेशन्स मानक अपवादों से भिन्न होते हैं: do_allocate त्रुटि की स्थिति में अपवाद [SWS_CORE_00058] के बजाय nullptr देता है, जबकि do_deallocate त्रुटियों को मौन रूप से अनदेखा करता है [SWS_CORE_00059]।
समवर्तीता: कंस्ट्रक्टर कॉल स्वयं थ्रेड-सुरक्षित है [SWS_CORE_00063]। हालाँकि, निर्मित इंस्टेंस के बाद के असाइनमेंट और रिलीज़ संचालन (do_allocate, do_deallocate) स्पष्ट रूप से गैर-थ्रेड-सुरक्षित (not thread-safe) निर्दिष्ट हैं ([SWS_CORE_00058], [SWS_CORE_00059])।
संसाधन रिलीज़ और विनाश: आवंटित मेमोरी को [SWS_CORE_00065] के माध्यम से मुक्त किया जा सकता है। डिस्ट्रक्टर noexcept है, लेकिन वर्चुअल रूप से लागू नहीं किया गया है [SWS_CORE_00062]।
यह उपयोग नोट AUTOSAR Adaptive R25-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 693f1605fcedउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग और उद्देश्य
कंस्ट्रक्टर explicit UnsynchronizedPoolResource (MemoryResource *upstream), [mem.res.pool][SWS_CORE_00064] के अनुसार हेडर फ़ाइल #include "ara/core/memory_resource.h" से क्लास ara::core::UnsynchronizedPoolResource के एक इंस्टेंस को इनिशियलाइज़ करता है। पैरामीटर upstream के माध्यम से मूल मेमोरी संसाधन पास किया जाता है, जिसे बाद में विधि upstream_resource() के माध्यम से क्वेरी किया जा सकता है [SWS_CORE_00056]। विकल्पों के रूप में, पैरामीटर रहित डिफ़ॉल्ट कंस्ट्रक्टर [SWS_CORE_00063] के साथ-साथ PoolOptions युक्त ओवरलोड उपलब्ध हैं [SWS_CORE_00067], [SWS_CORE_00068]।
त्रुटि प्रबंधन और अपवाद व्यवहार
इंस्टैंसिएशन को not exception safe के रूप में निर्दिष्ट किया गया है [SWS_CORE_00064], ताकि निर्माण के दौरान अपवाद उत्पन्न हो सकें। बाद के मेमोरी आवंटन के लिए अलग-अलग नियम लागू होते हैं: आंतरिक आवंटन फ़ंक्शन do_allocate कोई अपवाद नहीं फेंकता है, बल्कि विफलताओं पर nullptr लौटाता है [SWS_CORE_00058], जबकि do_deallocate पर त्रुटियों को चुपचाप अनदेखा कर दिया जाता है [SWS_CORE_00059]।
समवर्तीता और प्रतिबंध
कंस्ट्रक्टर कॉल स्वयं थ्रेड-सुरक्षित (thread-safe) माना जाता है [SWS_CORE_00064]। कॉपी संचालन रोक दिए गए हैं, क्योंकि कॉपी कंस्ट्रक्टर [SWS_CORE_00046] और असाइनमेंट ऑपरेटर [SWS_CORE_00047] दोनों हटा दिए गए हैं। निर्माण के बाद, आवंटन और वि-आवंटन संचालन थ्रेड-सुरक्षित नहीं होते हैं [SWS_CORE_00058], [SWS_CORE_00059]। इसके अलावा, डिस्ट्रक्टर को वर्चुअल घोषित नहीं किया गया है [SWS_CORE_00062]। आवंटित मेमोरी को release() के माध्यम से समय से पहले मुक्त किया जा सकता है [SWS_CORE_00065]। व्याख्या: चूंकि एक नेटिव पॉइंटर upstream पास किया गया है, संदर्भित अपस्ट्रीम संसाधन को पूल इंस्टेंस के संपूर्ण जीवनकाल के दौरान वैध रहना चाहिए। प्रश्न Q-3e6c23bae834b912 (खुला)
यह पाठ AI द्वारा जनरेट किया गया था और तकनीकी मार्गदर्शन के लिए है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: e7ed99220f1fउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
तत्व फ़ंक्शन release() वर्ग ara::core::UnsynchronizedPoolResource के स्कोप से संबंधित है और इसे हेडर फ़ाइल ara/core/memory_resource.h के माध्यम से घोषित किया गया है [SWS_CORE_00065]। फ़ंक्शन में कोई इनपुट पैरामीटर नहीं है और कोई रिटर्न मान नहीं है (void)। इसका कार्यात्मक सिमेंटिक्स C++ मानक [mem.res.pool][SWS_CORE_00065] का अनुसरण करता है; संदर्भ का अर्थ यह हो सकता है कि फ़ंक्शन पूल इंस्टेंस के माध्यम से आवंटित सभी मेमोरी को पूर्ववर्ती मेमोरी संसाधन (upstream_resource()) को समकालिक रूप से लौटाता है [SWS_CORE_00056]। प्रश्न Q-e0c7e00cde5d5a34 (खुला)
त्रुटि प्रबंधन
फ़ंक्शन को noexcept और exception safe के रूप में परिभाषित किया गया है [SWS_CORE_00065]। यह निष्पादन के दौरान कोई अपवाद उत्पन्न नहीं करता है। चूंकि विनिर्देश में किसी विशिष्ट त्रुटि कोड या DET/DEM संदेशों को सूचीबद्ध नहीं किया गया है, इसलिए मेमोरी रिलीज त्रुटियों के मामले में release() के माध्यम से कोई स्पष्ट त्रुटि फीडबैक नहीं होता है।
समवर्तीता और प्रतिबंध
विनिर्देश के अनुसार, release() को thread-safe के रूप में वर्गीकृत किया गया है [SWS_CORE_00065]। यह वर्ग के आंतरिक मेमोरी प्रबंधन फ़ंक्शनों के विपरीत है: do_allocate[SWS_CORE_00058] का उपयोग करके आवंटन और do_deallocate[SWS_CORE_00059] के माध्यम से डी-आवंटन दोनों को स्पष्ट रूप से not thread-safe के रूप में वर्गीकृत किया गया है।
इंटरैक्शन
मेथड UnsynchronizedPoolResource के अन्य गुणों और आवश्यकताओं के साथ निकटता से इंटरैक्ट करता है:
मेरोरी संसाधन: यह पूल ऑब्जेक्ट को स्वयं नष्ट किए बिना कॉन्फ़िगर किए गए अपस्ट्रीम संसाधन [SWS_CORE_00056] को मेमोरी लौटाता है, जैसा कि डिस्ट्रक्टर ~UnsynchronizedPoolResource() के साथ होता है [SWS_CORE_00062]।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 9bac3333fca1उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
कंस्ट्रक्टर [SWS_CORE_00067] विशिष्ट पूल विकल्पों (opts) और एक पैरेंट मेमोरी संसाधन (upstream) के साथ ara::core::UnsynchronizedPoolResource के एक इंस्टेंस को आरंभ करता है। कॉल समकालिक रूप से होता है और इसे noexcept के रूप में विनिर्दिष्ट किया गया है, जिससे ऑब्जेक्ट निर्माण अपवाद-सुरक्षित हो जाता है। इंस्टेंस की कॉपी करना बहिष्कृत है, क्योंकि कॉपी कंस्ट्रक्टर [SWS_CORE_00046] और असाइनमेंट ऑपरेटर [SWS_CORE_00047] दोनों हटा दिए गए हैं (=delete)।
संग्रहीत सेटिंग्स और अपस्ट्रीम संसाधनों को रनटाइम पर options()[SWS_CORE_00057] साथ ही upstream_resource()[SWS_CORE_00056] के माध्यम से पढ़ा जा सकता है। विकल्पों के रूप में, एक मानक कंस्ट्रक्टर [SWS_CORE_00063] साथ ही ओवरलोड उपलब्ध हैं जो विशेष रूप से upstream[SWS_CORE_00064] या opts[SWS_CORE_00068] स्वीकार करते हैं। कब्जा की गई मेमोरी को release()[SWS_CORE_00065] या डिस्ट्रक्टर [SWS_CORE_00062] के माध्यम से जारी किया जा सकता है, जहाँ डिस्ट्रक्टर मानक से विचलित होकर गैर-वर्चुअल है।
समवर्तीता के संबंध में, निर्माण स्वयं थ्रेड-सुरक्षित घोषित किया गया है [SWS_CORE_00067]। इसके विपरीत, इंस्टेंस के वास्तविक मेमोरी प्रबंधन फ़ंक्शन – do_allocate[SWS_CORE_00058] और do_deallocate[SWS_CORE_00059] – स्पष्ट रूप से थ्रेड-सुरक्षित नहीं (“not thread-safe”) हैं और समानांतर एक्सेस के दौरान बाहरी सुरक्षा तंत्र की आवश्यकता होती है। त्रुटियों को बिना अपवादों के संसाधित किया जाता है: विफल आवंटन nullptr[SWS_CORE_00058] लौटाते हैं, जबकि डीएलोकेशन त्रुटियों को चुपचाप अनदेखा कर दिया जाता है [SWS_CORE_00059]। Interpretation: पारित upstream ऑब्जेक्ट को संभवतः पूल के संपूर्ण जीवन चक्र के दौरान मान्य रहना चाहिए। प्रश्न Q-2439ec8f9fb8bb3e (खुला)
यह पाठ AUTOSAR Adaptive R25-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 379494cd66cfउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
कंस्ट्रक्टर [SWS_CORE_00068] पैरामीटर opts (प्रकार PoolOptions) के माध्यम से विशिष्ट कॉन्फ़िगरेशन पैरामीटर निर्दिष्ट करके ara::core::UnsynchronizedPoolResource के समकालिक इनिशियलाइज़ेशन के लिए कार्य करता है। व्यवहार हेडर फ़ाइल ara/core/memory_resource.h से मानक [mem.res.pool] के अनुसार होता है। पास की गई सेटिंग्स को इंस्टैंसिएशन के बाद options()[SWS_CORE_00057] के साथ पुनर्प्राप्त किया जा सकता है, जबकि अपस्ट्रीम मेमोरी मैनेजर upstream_resource()[SWS_CORE_00056] के माध्यम से सुलभ है।
त्रुटि प्रबंधन के संबंध में, फ़ंक्शन को गैर-अपवाद-सुरक्षित ("not exception safe") के रूप में निर्दिष्ट किया गया है [SWS_CORE_00068]। व्याख्या: यदि इंस्टैंसिएशन के दौरान प्रबंधन संरचनाओं का आंतरिक प्रावधान विफल हो जाता है, तो संभवतः एक अपवाद फेंका जाएगा, जिससे यह कॉल noexcept संस्करण [SWS_CORE_00067] से भिन्न हो जाता है। प्रश्न Q-479a016f4e0ddde7 (खुला) जबकि कंस्ट्रक्टर को स्वयं थ्रेड-सुरक्षित ("thread-safe") के रूप में वर्गीकृत किया गया है [SWS_CORE_00068], परिणामी इंस्टेंस के बाद के मेमोरी संचालन जैसे do_allocate[SWS_CORE_00058] और do_deallocate[SWS_CORE_00059] स्पष्ट रूप से थ्रेड-सुरक्षित नहीं ("not thread-safe") हैं; इसलिए उन्हें बिना सुरक्षा के समवर्ती रूप से निष्पादित नहीं किया जाना चाहिए।
क्लास के जीवनचक्र के साथ इंटरैक्शन में, यह ध्यान दिया जाना चाहिए कि कॉपी निर्माण [SWS_CORE_00046] और असाइनमेंट ऑपरेटर [SWS_CORE_00047] हटा दिए गए (delete) हैं। आवंटित मेमोरी तब तक पूल में रहती है जब तक कि इसे release()[SWS_CORE_00065] के माध्यम से मुक्त नहीं किया जाता है या ऑब्जेक्ट को गैर-वर्चुअल डिस्ट्रक्टर [SWS_CORE_00062] के माध्यम से नष्ट नहीं किया जाता है।
यह पाठ एक AI द्वारा तैयार किया गया है और केवल मार्गदर्शन के लिए है।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल