DEENESPTFRRUARHIKOZHNL

struct 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

User GuideAI-GEGENEREERD

Dient als opmaakinstructie voor het aansturen van weergaveformaat en precisie bij het uitvoeren van logwaarden.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: ae5714d3cea4 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient als opmaakinstructie voor het aansturen van weergaveformaat en precisie bij het uitvoeren van logwaarden.

De structuur ara::log::Format dient als opmaakinstructie in het loggingsysteem en bundelt de formatspecificator fmt ([SWS_LOG_00225]) met de precisieopgave precision ([SWS_LOG_00226]). Instanties moeten bij voorkeur worden aangemaakt via beschikbaar gestelde hulpfuncties, waarbij de evaluatie van precision afhankelijk van het formattype onderscheid maakt tussen het minimumaantal cijfers bij gehele getallen en het aantal decimalen bij drijvende-kommagetallen. Bij integer-typen wordt een precisie van nul behandeld als één, terwijl het veld onder Fmt::kDefault volledig wordt genegeerd.

Context

De datastructuur ara::log::Format dient in het loggingframework van het AUTOSAR Adaptive Platform als opmaakinstructie voor het uitvoeren van geformatteerde waarden. Deze bundelt hiertoe twee centrale eigenschappen: de formaatspecificatie fmt van het enumeratietype Fmt ([SWS_LOG_00225]) en de bijbehorende precisie precision als std::uint16_t ([SWS_LOG_00226]). Interactiepartners zijn de uitvoercomponenten en opmaakstromen van de loggingmodule, evenals de applicatielogica die logberichten met geformatteerde tekstuitvoer genereert. Interpretatie: de in de specificatie genoemde hulpfuncties voor instantiëring bevinden zich vermoedelijk direct in module ara::log om gestandaardiseerde opmaak te bieden. Vraag Q-1c465e69c99359fa (open)

Levenscyclus

Als finale datastructuur (struct Format final) bezit ara::log::Format geen interne toestandsautomaat en geen complexe faseovergangen. Hoewel de attributen als publieke variabelen zijn gedeclareerd ([SWS_LOG_00225], [SWS_LOG_00226]), vereist de specificatie uitdrukkelijk om instanties niet handmatig aan te maken, maar in plaats daarvan de beschikbaar gestelde hulpfuncties te gebruiken. Exemplaren zijn typisch kortlevende waardeobjecten die via kopie of referentie aan logstreams worden overgedragen. Interpretatie: aangezien de structuur geen interne synchronisatie heeft, zijn kopieën en gelijktijdige leestoegangen over threadgrenzen heen vermoedelijk thread-safe, terwijl muterende toegangen extern moeten worden gesynchroniseerd. Vraag Q-bd0f1147e9472c19 (open)

Gebruikspad

Het typische gebruik omvat het vastleggen van de formatspecificator fmt ([SWS_LOG_00225]) en het opgeven van de gewenste precisie precision ([SWS_LOG_00226]). De evaluatie van precision richt zich naar het gekozen type in fmt:

  • Integer-typen: voor Fmt::kDec, Fmt::kOct, Fmt::kHex en Fmt::kBin geeft precision het minimumaantal uit te voeren cijfers aan, analoog aan de formattering via std::printf("%.7d").
  • Drijvende-kommatypen met vaste-komma- en exponentiële weergave: bij Fmt::kDecFloat, Fmt::kEngFloat en Fmt::kHexFloat legt precision het exacte aantal decimalen vast.
  • Automatische drijvende-kommaweergave: onder Fmt::kAutoFloat definieert precision het aantal significante cijfers volgens de regels van de formatspecificator %g in std::printf.
  • Standaardformattering: wanneer fmt de waarde Fmt::kDefault heeft, wordt de opgave in precision genegeerd en wordt een implementatieafhankelijke formattering toegepast.
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 nein integral_one Minimale Stellenanzahl = 1 integral->integral_one ja end Formatierung angewendet integral_min->end integral_one->end float_fixed->end float_auto->end default_fmt->end

Activiteitendiagram: vertakkingslogica voor de evaluatie van precision afhankelijk van fmt. Bronnen: [SWS_LOG_00225], [SWS_LOG_00226]

Foutscenario's

De structuur definieert geen foutcodes of excepties; grensgevallen worden daarentegen fouttolerant en deterministisch behandeld. Bij integer-formatspecificatoren (Fmt::kDec, Fmt::kOct, Fmt::kHex, Fmt::kBin) wordt een waarde van precision = 0 ([SWS_LOG_00226]) semantisch identiek aan een waarde van 1 geëvalueerd om lege uitvoer te voorkomen. Wordt fmt op Fmt::kDefault ([SWS_LOG_00225]) gezet, dan leidt een ingestelde waarde in precision niet tot een fouttoestand, maar wordt deze stilzwijgend genegeerd.

Deze handleiding is gebaseerd op de bepalingen van de specificatie voor de loggingmodule van het AUTOSAR Adaptive Platform R25-11.

UML-klassendiagram

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

G nara__log__Format351 «struct» Format + fmt + precision

Constanten

fmt variabele

the format specifier

Fmt fmt;
precision variabele

the precision to use

std::uint16_t precision;

Documentatie van constanten / variabelen

variabele 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#25869f4f
Content hash
25869f4f
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

variabele 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#1b6f9884
Content hash
1b6f9884
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