DEENESPTFRRUARHIKOZHNL

स्ट्रक्चर ara::core::in_place_t

[SWS_CORE_04011] Upstream: RS_AP_00130

struct in_place_t {...};

Denote an operation to be performed in-place. An instance of this type can be passed to certain constructors of ara::core::Optional to denote the intention that construction of the contained type shall be done in-place, i.e. without any copying taking place.

Header-Datei#include "ara/core/utility.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace ara::core

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

कॉपी ऑपरेशनों के बिना Optional जैसे कंटेनरों में इन-प्लेस निर्माण को चिह्नित करने के लिए टैग प्रकार के रूप में कार्य करता है।
एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 011b812476bc उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

कॉपी ऑपरेशनों के बिना Optional जैसे कंटेनरों में इन-प्लेस निर्माण को चिह्नित करने के लिए टैग प्रकार के रूप में कार्य करता है।

संरचना ara::core::in_place_t उन ऑपरेशनों को चिह्नित करने के लिए एक टैग प्रकार के रूप में कार्य करती है, जिनमें ऑब्जेक्ट्स को कॉपी ऑपरेशनों के बिना सीधे उसी स्थान पर निर्मित किया जाना चाहिए [SWS_CORE_04012]। एक इंस्टांस आमतौर पर ara::core::Optional जैसी रैपर क्लासों के कंस्ट्रक्टरों को पास किया जाता है ताकि तर्कों को सीधे समाहित प्रकार के कंस्ट्रक्टर तक अग्रेषित किया जा सके। निर्माण एक स्पष्ट डिफ़ॉल्ट कंस्ट्रक्टर के माध्यम से होता है, जिसे अपवाद-सुरक्षित और noexcept के रूप में परिभाषित किया गया है [SWS_CORE_04012]। चूंकि यह प्रकार स्टेटलेस है, इसलिए कोई त्रुटि परिदृश्य या जटिल जीवनचक्र चरण मौजूद नहीं हैं।

संदर्भ

संरचना ara::core::in_place_t AUTOSAR Adaptive Platform के मॉड्यूल core के भीतर एक टैग प्रकार है और इसे हेडर फ़ाइल #include "ara/core/utility.h" के माध्यम से उपलब्ध कराया जाता है [SWS_CORE_04012]। आधुनिक C++ इंटरफेसों में, ऐसा टैग प्रकार ऑब्जेक्ट निर्माण के दौरान ओवरलोड के लिए एक सिमेंटिक नियंत्रण तत्व के रूप में कार्य करता है। ara::core::in_place_t की प्राथमिक भूमिका ऑपरेशनों को स्पष्ट रूप से इन-प्लेस निर्माण के रूप में घोषित करना है। इस प्रकार का एक इंस्टांस ara::core::Optional जैसी रैपर क्लासों के विशेषीकृत कंस्ट्रक्टरों को यह स्पष्ट इरादा दर्शाने के लिए पास किया जाता है कि कंटेनर में रखे गए ऑब्जेक्ट को सीधे उसी स्थान पर बनाया जाना चाहिए।

इस तंत्र के माध्यम से कंटेनर के बाहर एक अस्थायी ऑब्जेक्ट बनाने की आवश्यकता समाप्त हो जाती है, जिसे बाद में कॉपी या मूव कंस्ट्रक्टर द्वारा कंटेनर में स्थानांतरित करना पड़ता। इस प्रकार क्लास कॉलिंग एप्लिकेशन कोड और समाहित प्रकारों के इनिशियलाइज़ेशन रूटीन के बीच एक मध्यस्थ के रूप में कार्य करती है, जिससे यह सुरक्षा-महत्वपूर्ण अनुप्रयोगों के संदर्भ में विशेष रूप से संसाधन प्रबंधन और दक्षता के लिए महत्वपूर्ण हो जाती है।

जीवनचक्र

ara::core::in_place_t का जीवनचक्र न्यूनतम रूप से डिज़ाइन किया गया है। क्लास एक स्पष्ट डिफ़ॉल्ट कंस्ट्रक्टर explicit in_place_t() noexcept = default; घोषित करती है, जिसे noexcept के रूप में चिह्नित किया गया है [SWS_CORE_04012]। एक स्टेटलेस टैग संरचना के रूप में, इस प्रकार के पास कोई सदस्य चर (member variables) या गतिशील संसाधन नहीं होते हैं। व्याख्या: यह संरचना केवल कंपाइलर पर ओवरलोड रिज़ॉल्यूशन के लिए एक प्रकार-चिह्नक (type marker) के रूप में कार्य करती है और किसी भी रनटाइम डेटा को एनकैप्सुलेट नहीं करती है। प्रश्न Q-2fd481aaddfdfbf3 (खुला) तदनुसार, न तो जटिल स्थितियाँ मौजूद हैं और न ही विभिन्न जीवन चरणों के बीच कोई संक्रमण।

ara::core::in_place_t के इंस्टांसेस आमतौर पर सीधे कॉल पॉइंट पर अस्थायी मानों के रूप में उत्पन्न होते हैं और तुरंत लक्षित विधि (target method) को अग्रेषित कर दिए जाते हैं। प्रबंधित संसाधनों पर कोई स्वामित्व संबंध उत्पन्न नहीं होते हैं, और ऑब्जेक्ट के विनाश के दौरान किसी भी प्रकार की क्लीनअप प्रक्रिया की आवश्यकता नहीं होती है। चूंकि यह प्रकार पूरी तरह से अपरिवर्तनीय (immutable) और स्टेटलेस है, इसलिए इंस्टांशिएशन और विनाश स्वाभाविक रूप से कॉनकरेंसी-सुरक्षित हैं और बिना सिंक्रोनाइज़ेशन तंत्र के कई थ्रेड्स में सुरक्षित रूप से उपयोग किए जा सकते हैं।

उपयोग पथ

ara::core::in_place_t का विशिष्ट उपयोग पथ ara::core::Optional जैसे रैपर्स को सीधे निर्माण तर्कों के अग्रेषण पर केंद्रित है। सबसे पहले, एप्लिकेशन आवश्यक हेडर फ़ाइल #include "ara/core/utility.h" को शामिल करता है [SWS_CORE_04012]। ara::core::Optional ऑब्जेक्ट की घोषणा या इनिशियलाइज़ेशन के दौरान, डेवलपर ara::core::in_place_t के एक इंस्टांस को कंस्ट्रक्टर में पहले तर्क के रूप में पास करता है। बाद के तर्क ठीक उस प्रकार के कंस्ट्रक्टर की पैरामीटर सूची के अनुरूप होते हैं, जिसे Optional में रखा जाना है।

टैग के मूल्यांकन के माध्यम से, कंटेनर कंस्ट्रक्टर आंतरिक रूप से आंतरिक मेमोरी क्षेत्र में पेलोड ऑब्जेक्ट के उपयुक्त कंस्ट्रक्टर को सीधे कॉल करता है। यह अनावश्यक कॉपी और मूव ऑपरेशनों को रोकता है, जो विशेष रूप से उन प्रकारों के लिए फायदेमंद है जिनमें महंगे कॉपी ऑपरेशन शामिल होते हैं या जिनका कॉपी कंस्ट्रक्टर हटा दिया गया (deleted) होता है। लक्षित कंस्ट्रक्टर के सफल कॉल के बाद, टैग का उद्देश्य पूरी तरह से पूरा हो जाता है, और अस्थायी टैग इंस्टांस स्वचालित रूप से नष्ट हो जाता है।

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

त्रुटि परिदृश्यों और अपवाद सुरक्षा के संबंध में, ara::core::in_place_t पूरी तरह से त्रुटि-मुक्त व्यवहार करता है। विनिर्देश के अनुसार, डिफ़ॉल्ट कंस्ट्रक्टर को noexcept के रूप में घोषित किया गया है और इसे exception safe [SWS_CORE_04012] के रूप में वर्गीकृत किया गया है। डिफ़ॉल्ट कंस्ट्रक्टर को कॉल करने के लिए कोई पूर्व शर्तें नहीं हैं, और न तो कोई त्रुटि कोड और न ही कोई C++ अपवाद ट्रिगर होते हैं।

यदि इन-प्लेस निर्माण के दौरान कोई त्रुटि उत्पन्न होती है, तो इसका कारण ara::core::in_place_t में नहीं होता है, बल्कि केवल संलग्न पेलोड डेटा प्रकार के कंस्ट्रक्टर में होता है। यदि इसका कंस्ट्रक्टर अमान्य मापदंडों पर अपवाद थ्रो करता है या त्रुटि स्थितियों की रिपोर्ट करता है, तो संलग्न कंटेनर या लक्षित प्रकार के परिभाषित त्रुटि प्रबंधन तंत्र प्रभावी होते हैं। त्रुटि की स्थिति में in_place_t के लिए स्वयं किसी उत्तर-शर्त या क्लीनअप कार्य की आवश्यकता नहीं होती है।

यह क्लास गाइड core मॉड्यूल के लिए AUTOSAR Adaptive विनिर्देशों पर आधारित है और इसे स्वचालित रूप से क्यूरेट किया गया था।

UML क्लास आरेख

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__core__in_place_t356 «struct» in_place_t + in_place_t()

कंस्ट्रक्टर और डिस्ट्रक्टर

in_place_t फ़ंक्शन

Default constructor

explicit in_place_t () noexcept=default;

मेथड का प्रलेखन

फ़ंक्शन in_place_t [SWS_CORE_04012] Upstream: RS_AP_00130

explicit in_place_t () noexcept=default;

Default constructor

Header-Datei#include "ara/core/utility.h"
Scopestruct ara::core::in_place_t
Exception-Sicherheitexception safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_04012
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_04012@rel:R25-11#e303d422
Content hash
e303d422
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_04012
Status: valid/unmigrated Version: rel:R25-11#60e4f564 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_04012@rel:R25-11#60e4f564
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#77f3b9952026-09-30
  • R19-11rel:R19-11#63f31e082026-10-14
  • R20-11rel:R20-11#388fe03d2026-10-14
  • R21-11rel:R21-11#388fe03d2026-10-14
  • R22-11rel:R22-11#5a0e98052026-10-14
  • R23-11rel:R23-11#b9ae75262026-10-14
  • R24-11rel:R24-11#5501994f2026-10-14
  • R25-11rel:R25-11#60e4f5642026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill