DEENESPTFRRUARHIKOZHNL

estructura 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

Guía del usuarioGENERADO POR IA

Sirve como indicación de formato para controlar el formato de representación y la precisión en la salida de valores de registro.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ae5714d3cea4 Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve como indicación de formato para controlar el formato de representación y la precisión en la salida de valores de registro.

La estructura ara::log::Format sirve como indicación de formato en el sistema de registro y agrupa el especificador de formato fmt ([SWS_LOG_00225]) con la indicación de precisión precision ([SWS_LOG_00226]). Es preferible crear las instancias mediante funciones auxiliares provistas, distinguiendo la evaluación de precision, según el tipo de formato, entre el número mínimo de dígitos en números enteros y los decimales en números de punto flotante. Para tipos enteros, una precisión de cero se trata como uno, mientras que el campo bajo Fmt::kDefault se ignora por completo.

Contexto

La estructura de datos ara::log::Format sirve en el framework de registro de AUTOSAR Adaptive Platform como indicación de formato para la emisión de valores formateados. Con este propósito, agrupa dos propiedades centrales: la especificación de formato fmt de tipo enumerado Fmt ([SWS_LOG_00225]) y la precisión asociada precision como std::uint16_t ([SWS_LOG_00226]). Sus interlocutores son los componentes de salida y flujos de formateo del módulo de registro, así como la lógica de aplicación que genera mensajes de registro con salida de texto formateado. Interpretación: Es de suponer que las funciones auxiliares de instanciación mencionadas en la especificación se ubiquen directamente en el módulo ara::log para proporcionar formateos estandarizados. Pregunta Q-1c465e69c99359fa (abierta)

Ciclo de vida

Como estructura de datos final (struct Format final), ara::log::Format carece de máquina de estados interna y de transiciones de fase complejas. Aunque los atributos están declarados como variables públicas ([SWS_LOG_00225], [SWS_LOG_00226]), la especificación exige expresamente no crear instancias manualmente, sino utilizar en su lugar las funciones auxiliares proporcionadas. Los ejemplares suelen ser objetos de valor de vida corta que se pasan por copia o por referencia a los flujos de registro. Interpretación: Dado que la estructura no presenta sincronización interna, es de suponer que las copias y los accesos concurrentes de lectura a través de límites entre hilos sean seguros para subprocesos, mientras que los accesos mutables deben sincronizarse externamente. Pregunta Q-bd0f1147e9472c19 (abierta)

Ruta de uso

El uso típico abarca la definición del especificador de formato fmt ([SWS_LOG_00225]) y la especificación de la precisión deseada precision ([SWS_LOG_00226]). La evaluación de precision se rige por el tipo seleccionado en fmt:

  • Tipos enteros: Para Fmt::kDec, Fmt::kOct, Fmt::kHex y Fmt::kBin, precision designa el número mínimo de dígitos a mostrar, de forma análoga al formateo mediante std::printf("%.7d").
  • Tipos de punto flotante con representación de punto fijo y exponencial: En Fmt::kDecFloat, Fmt::kEngFloat y Fmt::kHexFloat, precision determina el número exacto de decimales.
  • Representación automática de punto flotante: Bajo Fmt::kAutoFloat, precision define el número de dígitos significativos según las reglas del especificador de formato %g en std::printf.
  • Formateo por defecto: Si fmt tiene el valor Fmt::kDefault, la indicación en precision se ignora y se aplica un formateo dependiente de la implementación.
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 No integral_one Minimale Stellenanzahl = 1 integral->integral_one Sí end Formatierung angewendet integral_min->end integral_one->end float_fixed->end float_auto->end default_fmt->end

Diagrama de actividades: Lógica de ramificación para la evaluación de precision en función de fmt. Fuentes: [SWS_LOG_00225], [SWS_LOG_00226]

Escenarios de error

La estructura no define códigos de error ni excepciones; en su lugar, los casos límite se tratan de forma tolerante a fallos y determinista. En especificadores de formato enteros (Fmt::kDec, Fmt::kOct, Fmt::kHex, Fmt::kBin), un valor de precision = 0 ([SWS_LOG_00226]) se evalúa semánticamente igual a un valor de 1 para evitar salidas vacías. Si fmt se establece en Fmt::kDefault ([SWS_LOG_00225]), un valor establecido en precision no conduce a un estado de error, sino que se descarta de forma silenciosa.

Esta guía se basa en las prescripciones de la especificación para el módulo de registro de AUTOSAR Adaptive Platform R25-11.

Diagrama de clases UML

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

G nara__log__Format351 «struct» Format + fmt + precision

Constantes

fmt variable

the format specifier

Fmt fmt;
precision variable

the precision to use

std::uint16_t precision;

Documentación de las constantes / variables

variable 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#637a0dc2
Content hash
637a0dc2
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

variable 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#ee318034
Content hash
ee318034
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