The class TimeBase is a pseudo-clock. The class TimeBase is a pseudo-clock that is used as the first template argument to std::chrono::time_point to indicate that the time point represents local time with respect of a not-yet-specified timeBaseResource.
Dient als pseudo-clock voor std::chrono::time_point voor het afbeelden van lokale tijdstippen van een TimeBase-resource.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: f515350f98f7HerkomstOpen vragen (3)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Dient als pseudo-clock voor std::chrono::time_point voor het afbeelden van lokale tijdstippen van een TimeBase-resource.
De klasse ara::tsync::TimeBase fungeert als pseudo-clock in het C++-standaardbibliotheeksysteem en dient als clock-template-argument voor std::chrono::time_point voor de representatie van lokale tijden met betrekking tot een TimeBase-resource [SWS_TS_01264]. Om aan de clock-vereisten te voldoen, stelt deze gestandaardiseerde type-aliassen voor nanoseconde-resolutie en -duur beschikbaar. Als bepalende randvoorwaarde is de klok via is_steady = false gespecificeerd als niet-monotoon, waardoor tijdsprongen als gevolg van synchronisatieprocessen in aanmerking worden genomen [SWS_TS_01265].
Context
De klasse respectievelijk structuur ara::tsync::TimeBase vervult in de module tsync van het AUTOSAR Adaptive Platform de rol van een pseudo-klok (pseudo-clock). Deze dient op C++-niveau primair als eerste template-argument voor std::chrono::time_point om semantisch vast te leggen dat een tijdstempel de lokale tijd vertegenwoordigt ten opzichte van een nog niet nader gespecificeerde TimeBase-resource (timeBaseResource) [SWS_TS_01264]. In plaats van zelf als actieve tijdsbron met een statische tijdsopvraag te fungeren, dient TimeBase als formele schakel binnen de standaardbibliotheek std::chrono.
Door het beschikbaar stellen van de gestandaardiseerde typedefinities verbindt TimeBase de generieke mechanismen van de C++-tijdsmeting met de synchronisatiemodule. Afnemers en componenten die met tijdstippen of tijdsduren werken, gebruiken de alias-typen van de structuur om getypeerde tijdstempels uit te wisselen. Op deze wijze wordt gegarandeerd dat tijdwaarden via std::chrono::time_point eenduidig aan een lokale tijdbasis zijn toegewezen en niet abusievelijk worden vermengd met absolute systeemklokken of afwijkende tijdsbronnen.
Contextdiagram: Inbedding van TimeBase als pseudo-clock in het C++-chrono-typesysteem voor de binding van tijdstippen aan een TimeBase-resource. Bronnen: [SWS_TS_01263], [SWS_TS_01264]
Levenscyclus
Als zuivere data- en typestructuur (gedeclareerd als struct TimeBase in header ara/tsync/timestamp.h) heeft ara::tsync::TimeBase geen dynamische levenscyclusfasen in de zin van een geïnitialiseerde of operationele runtimecomponent. Een instantiëring van objecten van deze structuur is voor de beoogde functie niet dwingend vereist; deze bestaat primair op het niveau van het C++-typesysteem tijdens compile-time.
Om te voldoen aan de formele vereisten van een C++-clock (C++ Clock Requirements) definieert TimeBase alle vereiste type-aliassen en constanten. Hiertoe behoort het fundamentele tellertype rep als std::int64_t voor de representatie van het aantal tijdstikken [SWS_TS_01261] evenals het tijdstik-interval period als std::nano[SWS_TS_01262], wat overeenkomt met een resolutie in het nanosecondebereik. De duur voor het meten van de tijd sinds een tijdperk (epoch) wordt beschikbaar gesteld via de type-alias duration als std::chrono::duration<rep, period>[SWS_TS_01263].
Met betrekking tot concurrency en het gedrag in het draaiende systeem declareert de structuur de statische constante is_steady met de booleaanse waarde false[SWS_TS_01265]. Dit signaleert aan het C++-chrono-framework dat de onderliggende klok niet monotoon (steady) is. Interpretatie: Dit is vermoedelijk toe te schrijven aan het feit dat tijdssynchronisatieprocessen in module tsync aanpassingen of sprongen van de lokale tijdbasis kunnen veroorzaken, waardoor opeenvolgende metingen geen strikte monotonie garanderen. Vraag Q-93a56c0eb2d35c7b (open) Aangezien de structuur zelf geen veranderlijke toestand inkapselt, zijn alle type-toepassingen en toegangen tot constanten inherent veilig voor gelijktijdig gebruik.
Gebruikspad
Het typische gebruikspad van ara::tsync::TimeBase ligt in de declaratie, verwerking en doorgifte van tijdwaarden binnen gesynchroniseerde applicaties. Ontwikkelaars en adaptieve softwarecomponenten instantiëren niet de klok zelf, maar benaderen de centrale type-alias time_point, die gedefinieerd is als std::chrono::time_point<TimeBase>[SWS_TS_01264].
Typedefinitie en interfacespecificatie: De applicatie includeert de header ara/tsync/timestamp.h en gebruikt ara::tsync::TimeBase::time_point[SWS_TS_01264] om signaturen voor tijdstempels te declareren. Interpretatie: Daardoor wordt gewaarborgd dat tijdstippen semantisch gekoppeld blijven aan de specifieke lokale tijdbasis. Vraag Q-549e2d377c0a6845 (open)
Rekenkundige bewerkingen en verschilbepaling: Worden twee tijdstippen van elkaar afgetrokken, dan levert de expressie automatisch het type ara::tsync::TimeBase::duration[SWS_TS_01263] op. Dit is gebaseerd op nanosecondestappen (period) [SWS_TS_01262] en 64-bits gehele getallen (rep) [SWS_TS_01261], waarmee standaardconforme duurberekeningen en conversies naar andere tijdseenheden mogelijk zijn.
Interoperabiliteit met standaardalgoritmen: Door de volledige naleving van de clock-typevereisten kunnen tijdstippen en tijdsduren naadloos worden overgedragen aan standaardbibliotheekfuncties van std::chrono, zonder dat er propriëtaire tijdstructuren moeten worden gebruikt.
Interpretatie: Aangezien TimeBase is ontworpen als pseudo-clock, stelt deze zelf geen statische lidfunctie now() beschikbaar; de concrete tijdwaardebepaling voor een dergelijke time_point[SWS_TS_01264] vindt vermoedelijk plaats via andere services of interfaces van module tsync, die zijn gekoppeld aan de gerefereerde timeBaseResource. Vraag Q-2a528a99023dad41 (open)
Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel