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.
يُستخدم كتلميح تنسيق للتحكم في تنسيق العرض والدقة عند إخراج قيم السجل.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ae5714d3cea4المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يُستخدم كتلميح تنسيق للتحكم في تنسيق العرض والدقة عند إخراج قيم السجل.
تُستخدم البنية ara::log::Format كتلميح تنسيق في نظام التسجيل وتجمع بين محدد التنسيق fmt ([SWS_LOG_00225]) ومواصفة الدقة precision ([SWS_LOG_00226]). يُفضل إنشاء المثيلات عبر دوال مساعدة مقدمة، حيث يميز تقييم precision حسب نوع التنسيق بين الحد الأدنى لعدد الخانات في الأعداد الصحيحة والمنازل العشرية في أرقام الفاصلة العائمة. وبالنسبة للأنواع الصحيحة، تُعامل الدقة التي تساوي صفراً مثل واحد، بينما يتم تجاهل الحقل تماماً تحت Fmt::kDefault.
السياق
تُستخدم بنية البيانات ara::log::Format في إطار عمل التسجيل الخاص بـ AUTOSAR Adaptive Platform كتلميح تنسيق لإخراج القيم المنسقة. وتجمع لهذا الغرض بين خاصيتين مركزيتين: مواصفة التنسيق fmt من نوع التعداد Fmt ([SWS_LOG_00225]) بالإضافة إلى الدقة التابعة precision كـ std::uint16_t ([SWS_LOG_00226]). شركاء التفاعل هم مكونات الإخراج وتدفقات التنسيق لوحدة التسجيل بالإضافة إلى منطق التطبيق الذي يولد رسائل السجل مع إخراج نصي منسق. تفسير: من المرجح أن تكون الدوال المساعدة لإنشاء المثيلات المذكورة في المواصفة متواجدة مباشرة في الوحدة 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، يحدد precision عدد الخانات المعنوية وفقاً لقواعد محدد التنسيق %g في std::printf.
التنسيق القياسي: إذا كان 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 · الأصل الألماني