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.
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 IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ae5714d3cea4ProcedenciaPreguntas 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.
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.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán