DEENESPTFRRUARHIKOZHNL

структура ara::log::Format

[SWS_LOG_00207] Upstream: RS_LT_00046

struct Format final {...};

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.

Header-Datei#include "ara/log/logger.h"
Forwarding-Header#include "ara/log/log_fwd.h"
Scopenamespace ara::log

Руководство пользователяСОЗДАНО ИИ

Служит указанием по форматированию для управления форматом представления и точностью при выводе значений логов.
СОЗДАНО ИИ не проверено Модель: 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 игнорируется и применяется зависящее от реализации форматирование.
FormatAuswertung start Format-Auswertung check_fmt Welcher Typ in fmt? start->check_fmt integral precision == 0? check_fmt->integral kDec, kOct, kHex, kBin float_fixed Exakte Nachkommastellen = precision check_fmt->float_fixed kDecFloat, kEngFloat, kHexFloat float_auto Signifikante Stellen = precision (analog %g) check_fmt->float_auto kAutoFloat default_fmt precision ignoriert (Standardformatierung) check_fmt->default_fmt kDefault integral_min Minimale Stellenanzahl = precision integral->integral_min нет integral_one Minimale Stellenanzahl = 1 integral->integral_one да end Formatierung angewendet integral_min->end integral_one->end float_fixed->end float_auto->end default_fmt->end

Диаграмма деятельности: логика ветвления для вычисления precision в зависимости от fmt. Источники: [SWS_LOG_00225], [SWS_LOG_00226]

Сценарии ошибок

Структура не определяет кодов ошибок или исключений; граничные случаи обрабатываются отказоустойчиво и детерминированно. Для целочисленных спецификаторов формата (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.

G nara__log__Format351 «struct» Format + fmt + precision

Константы

fmt переменная

the format specifier

Fmt fmt;
precision переменная

the precision to use

std::uint16_t precision;

Документация констант / переменных

переменная fmt [SWS_LOG_00225] Upstream: RS_LT_00046

Fmt fmt;

the format specifier

Header-Datei#include "ara/log/logger.h"
Scopestruct ara::log::Format
Symbolfmt
TypFmt

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

Record
AUTOSAR/AP/record/SWS_LOG_00225
Status
valid/auto-approved
Version
AUTOSAR/AP/record/SWS_LOG_00225@rel:R25-11#1f57ac7d
Content hash
1f57ac7d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_LogAndTrace.pdf#nameddest=SWS_LOG_00225
Status: valid/auto-approved Version: rel:R25-11#04613a79 Versionshistorie & Revisions (2 transitions, 6 revision)
Current State
valid/auto-approved
Reason
unchanged
Campaign
2026-08-sws-log-pilot-after-tool-improvement
Active Version
AUTOSAR/AP/record/SWS_LOG_00225@rel:R25-11#04613a79
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#637a0dc22026-09-30
  • R21-11rel:R21-11#b0525fe12026-10-14
  • R22-11rel:R22-11#81b856192026-10-14
  • R23-11rel:R23-11#04613a792026-10-14
  • R24-11rel:R24-11#04613a792026-10-14
  • R25-11rel:R25-11#04613a792026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-10toolvalid/unversioned → invalid/obsoletespec update after tool improvement2026-08-sws-log-pilot-after-tool-improvement
2026-08-10toolinvalid/obsolete → valid/auto-approvedunchanged2026-08-sws-log-pilot-after-tool-improvement

переменная precision [SWS_LOG_00226] Upstream: RS_LT_00046

std::uint16_t precision;

the precision to use

Header-Datei#include "ara/log/logger.h"
Scopestruct ara::log::Format
Symbolprecision
Typstd::uint16_t

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

Record
AUTOSAR/AP/record/SWS_LOG_00226
Status
valid/auto-approved
Version
AUTOSAR/AP/record/SWS_LOG_00226@rel:R25-11#c5a56a87
Content hash
c5a56a87
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_LogAndTrace.pdf#nameddest=SWS_LOG_00226
Status: valid/auto-approved Version: rel:R25-11#c555de85 Versionshistorie & Revisions (2 transitions, 6 revision)
Current State
valid/auto-approved
Reason
unchanged
Campaign
2026-08-sws-log-pilot-after-tool-improvement
Active Version
AUTOSAR/AP/record/SWS_LOG_00226@rel:R25-11#c555de85
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#ee3180342026-09-30
  • R21-11rel:R21-11#c847203d2026-10-14
  • R22-11rel:R22-11#406eff9e2026-10-14
  • R23-11rel:R23-11#c555de852026-10-14
  • R24-11rel:R24-11#c555de852026-10-14
  • R25-11rel:R25-11#c555de852026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-10toolvalid/unversioned → invalid/obsoletespec update after tool improvement2026-08-sws-log-pilot-after-tool-improvement
2026-08-10toolinvalid/obsolete → valid/auto-approvedunchanged2026-08-sws-log-pilot-after-tool-improvement