A type holding a formatting hint. The interpretation of precision depends on fmt: For integral types (i.e. Fmt::kDec, Fmt::kOct, Fmt::kHex, Fmt::kBin), precision is interpreted as the minimum number of digits to output, similar to e.g. std::printf("%.7d"). For the floating-point specifiers Fmt::kDecFloat, Fmt::kEngFloat and Fmt::kHexFloat, precision denotes the exact number of digits to be shown after the decimal point; for Fmt::kAutoFloat, precision denotes the number of significant digits to be shown according to the rules of the std::printf "%g" specifier. If fmt is Fmt::kDefault, the precision field is ignored, and an implementation-defined formatting is applied. For integral types, if precision is 0, it is interpreted the same as if it was 1. For convenience, there are helper functions to create specific instances of this struct. The helper functions should be used instead of creating instances manually.
लॉग मानों के आउटपुट में प्रदर्शन प्रारूप और सटीकता को नियंत्रित करने के लिए एक स्वरूपण संकेत (formatting hint) के रूप में कार्य करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: ae5714d3cea4उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
लॉग मानों के आउटपुट में प्रदर्शन प्रारूप और सटीकता को नियंत्रित करने के लिए एक स्वरूपण संकेत (formatting hint) के रूप में कार्य करता है।
संरचना ara::log::Format लॉगिंग सिस्टम में एक फ़ॉर्मेटिंग संकेत के रूप में कार्य करती है और फ़ॉर्मेट विनिर्देशक fmt ([SWS_LOG_00225]) को परिशुद्धता विनिर्देश precision ([SWS_LOG_00226]) के साथ बंडल करती है। इंस्टेंस को प्राथमिकता से प्रदान किए गए सहायक फ़ंक्शनों के माध्यम से बनाया जाना चाहिए, जहाँ precision का मूल्यांकन फ़ॉर्मेट प्रकार के आधार पर पूर्णांकों के लिए न्यूनतम अंकों की संख्या और फ़्लोटिंग-पॉइंट संख्याओं के लिए दशमलव स्थानों के बीच अंतर करता है। पूर्णांक प्रकारों के लिए, शून्य की परिशुद्धता को एक के समान माना जाता है, जबकि Fmt::kDefault के तहत फ़ील्ड को पूरी तरह से अनदेखा किया जाता है।
संदर्भ
डेटा संरचना ara::log::Format AUTOSAR Adaptive Platform के लॉगिंग फ़्रेमवर्क में फ़ॉर्मैट किए गए मानों के आउटपुट के लिए एक फ़ॉर्मैटिंग निर्देश के रूप में कार्य करती है। इसके लिए यह दो केंद्रीय विशेषताओं को बंडल करती है: एन्यूमरेटेड प्रकार Fmt ([SWS_LOG_00225]) से फ़ॉर्मैट विनिर्देश fmt और साथ ही std::uint16_t ([SWS_LOG_00226]) के रूप में संबंधित सटीकता precision। इसके इंटरेक्शन पार्टनर लॉगिंग मॉड्यूल के आउटपुट घटक और फ़ॉर्मैटिंग स्ट्रीम हैं, साथ ही वह एप्लिकेशन लॉजिक है जो फ़ॉर्मैट किए गए टेक्स्ट आउटपुट के साथ लॉग संदेश उत्पन्न करता है। व्याख्या: मानकीकृत फ़ॉर्मैटिंग प्रदान करने के लिए विनिर्देश में उल्लिखित इंस्टैंसिएशन सहायक फ़ंक्शन सीधे मॉड्यूल ara::log में स्थित होने की संभावना है। प्रश्न Q-1c465e69c99359fa (खुला)
जीवनचक्र
एक अंतिम डेटा संरचना (struct Format final) के रूप में, ara::log::Format में कोई आंतरिक स्टेट मशीन नहीं है और न ही कोई जटिल चरण संक्रमण हैं। यद्यपि विशेषताओं को सार्वजनिक चर ([SWS_LOG_00225], [SWS_LOG_00226]) के रूप में घोषित किया गया है, विनिर्देश स्पष्ट रूप से मांग करता है कि इंस्टेंस को मैन्युअल रूप से न बनाया जाए, बल्कि इसके बजाय प्रदान किए गए सहायक फ़ंक्शनों का उपयोग किया जाए। इंस्टेंस आमतौर पर अल्पकालिक मान ऑब्जेक्ट होते हैं, जिन्हें कॉपी या संदर्भ द्वारा लॉग स्ट्रीम में पास किया जाता है। व्याख्या: चूंकि संरचना में कोई आंतरिक सिंक्रोनाइज़ेशन नहीं है, इसलिए थ्रेड सीमाओं के पार कॉपी और एक साथ रीड एक्सेस थ्रेड-सुरक्षित होने की संभावना है, जबकि परिवर्तनशील एक्सेस को बाहरी रूप से सिंक्रोनाइज़ किया जाना चाहिए। प्रश्न Q-bd0f1147e9472c19 (खुला)
उपयोग पथ
विशिष्ट उपयोग में फ़ॉर्मैट विनिर्देशक fmt ([SWS_LOG_00225]) का निर्धारण और वांछित सटीकता precision ([SWS_LOG_00226]) का विनिर्देश शामिल है। precision का मूल्यांकन fmt में चुने गए प्रकार पर निर्भर करता है:
पूर्णांक प्रकार:Fmt::kDec, Fmt::kOct, Fmt::kHex और Fmt::kBin के लिए, precision आउटपुट किए जाने वाले अंकों की न्यूनतम संख्या को दर्शाता है, जो std::printf("%.7d") के माध्यम से फ़ॉर्मैटिंग के अनुरूप है।
फ़िक्स्ड-पॉइंट और घातीय निरूपण वाले फ़्लोटिंग-पॉइंट प्रकार:Fmt::kDecFloat, Fmt::kEngFloat और Fmt::kHexFloat के मामले में, precision दशमलव स्थानों की सटीक संख्या निर्धारित करता है।
स्वचालित फ़्लोटिंग-पॉइंट निरूपण:Fmt::kAutoFloat के तहत, precisionstd::printf में फ़ॉर्मैट विनिर्देशक %g के नियमों के अनुसार महत्वपूर्ण अंकों की संख्या को परिभाषित करता है।
मानक फ़ॉर्मैटिंग: यदि fmt का मान Fmt::kDefault है, तो precision में दिए गए विनिर्देश को अनदेखा कर दिया जाता है और कार्यान्वयन-निर्भर फ़ॉर्मैटिंग लागू की जाती है।
संरचना कोई त्रुटि कोड या अपवाद परिभाषित नहीं करती है; इसके बजाय सीमांत मामलों को त्रुटि-सहिष्णु और नियतात्मक तरीके से संभाला जाता है। पूर्णांक फ़ॉर्मैट पहचानकर्ताओं (Fmt::kDec, Fmt::kOct, Fmt::kHex, Fmt::kBin) के लिए, रिक्त आउटपुट को रोकने के लिए precision = 0 ([SWS_LOG_00226]) के मान का मूल्यांकन शब्दार्थ रूप से 1 के मान के समान किया जाता है। यदि fmt को Fmt::kDefault ([SWS_LOG_00225]) पर सेट किया जाता है, तो precision में सेट किया गया मान त्रुटि स्थिति का कारण नहीं बनता है, बल्कि इसे चुपचाप त्याग दिया जाता है।
यह गाइड AUTOSAR Adaptive Platform R25-11 के लॉगिंग मॉड्यूल के विनिर्देश की आवश्यकताओं पर आधारित है।
UML क्लास आरेख
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल