class ReadAccessor : public virtual FileAccessor {...};
ReadAccessor is used to read file data. It provides binary and text mode methods for checking or getting the current byte/character (PeekByte/PeekChar, GetByte/GetChar) methods for reading a section of a binary/text file (Read Binary/ReadText), a method to read a line of text (ReadLine).
Maakt het bloksgewijs, regelsgewijs of tekengebaseerd lezen van gepersisteerde bestands- en binaire gegevens mogelijk.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 811820211677HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Maakt het bloksgewijs, regelsgewijs of tekengebaseerd lezen van gepersisteerde bestands- en binaire gegevens mogelijk.
De klasse ara::per::ReadAccessor stelt synchrone methoden voor het sequentiële en regelgebaseerde lezen van bestanden in binaire en tekstmodus beschikbaar [SWS_PER_00421], [SWS_PER_00119]. Naast consumerend lezen maakt zij een pointerneutrale preview van volgende bytes of tekens mogelijk. Aangezien instanties niet thread-safe zijn, moeten parallelle toegangen extern worden gecoördineerd, terwijl bij fouten een rollback-garantie de leespointerpositie beschermt [SWS_PER_00419].
Context en taakgebied
De klasse ara::per::ReadAccessor biedt een interface voor het synchroon lezen van bestandsinhoud binnen het persistencebeheer (module per) en leidt virtueel af van FileAccessor. Zij abstraheert de leestoegang tot gepersisteerde gegevensopslag en biedt zowel binaire als tekstuele toegangsmethoden. Applicaties kunnen via gespecialiseerde functies afzonderlijke bytes of tekens controleren en opvragen, evenals aaneengesloten blokken of volledige regels inlezen.
Levenscyclus en concurrency
De standaardconstructor van ReadAccessor is verwijderd [SWS_PER_00461]; de instantiatie vindt daarom typisch plaats via overkoepelende openings- en toegangsmechanismen van de persistencemodule. De vrijgave van de interface en de gebonden toegangsbronnen geschiedt via de virtuele destructor ~ReadAccessor()[SWS_PER_00417]. Instanties van ReadAccessor bezitten een interne leespointer die de huidige positie in het bestand beheert. Alle methoden van de klasse zijn expliciet gespecificeerd als niet thread-safe (not thread-safe) [SWS_PER_00419], waardoor gelijktijdige leesbewerkingen op dezelfde instantie extern door aanroepers moeten worden gesynchroniseerd.
Gebruikspaden voor binaire en tekstuele gegevens
Voor binaire bestandsbewerkingen biedt de klasse functies voor voorzienbaar of sequentieel uitlezen. Met PeekByte() kan de byte op de huidige leespositie worden geïnspecteerd zonder de leespointer te wijzigen [SWS_PER_00418]. Daarentegen leest GetByte() precies één byte uit en schuift de positie op [SWS_PER_00419]. Grotere datablokken kunnen via ReadBinary(n) in een ara::core::Vector<ara::core::Byte> worden ingelezen, waarbij de positie dienovereenkomstig wordt aangepast; wordt het bestandseinde voortijdig bereikt, dan bevat de vector minder bytes dan gevraagd [SWS_PER_00422]. Middels ReadBinary() kunnen alle resterende bytes tot aan het einde van het bestand in één stap worden opgehaald [SWS_PER_00421].
Sequentiediagram: Typisch verloop van een sequentiële leestoegang met voorafgaande controle en stapsgewijze gegevensverwerking. Bronnen: [SWS_PER_00418], [SWS_PER_00422], [SWS_PER_00421].
In tekstmodus biedt PeekChar() een tekengebaseerde preview [SWS_PER_00167], terwijl GetChar() het volgende teken consumeert [SWS_PER_00168]. Het regelsgewijs lezen vindt plaats via ReadLine(), die tot aan een scheidingsteken leest (standaard: '\n', ASCII 0x0a); het scheidingsteken wordt daarbij niet in de resultaatstring opgenomen [SWS_PER_00119]. Gedeelten van n tekens of de gehele resterende inhoud kunnen via de overloads van ReadText() worden uitgelezen [SWS_PER_00165], [SWS_PER_00420]. Bevindt de leespointer zich midden in een multibyte-teken, dan kunnen de resulterende tekenreeksen onvolledige Unicode-codepunten bevatten [SWS_PER_00119], [SWS_PER_00165].
Foutscenario's en foutafhandeling
Alle leesoperaties van ReadAccessor leveren hun waarden ingekapseld in een ara::core::Result op en zijn gespecificeerd als uitzonderingsveilig (exception safe) [SWS_PER_00419]. Als er tijdens een toegang een fout optreedt, geldt een strikte rollbacksemantiek: de actuele positie van de leeswijzer blijft in geval van een fout altijd ongewijzigd [SWS_PER_00421], [SWS_PER_00422]. Typische gedocumenteerde fouttoestanden omvatten:
Reads all remaining bytes into a Vector of Byte, starting from the current position. The current position is set to the end of the file. In case of an error, the current position is not changed.
Reads a complete line of characters into a String, advancing the current position accordingly. The end of the line is demarcated by the delimiter, or by "\\n" (ASCII 0x0a) if that parameter is omitted. The delimiter itself is not included in the returned String. Only Unicode code points with one character (code unit) can be used as delimiters. The returned string may start with an incomplete Unicode code point in case the current read position is in the middle of a code point. If the end of the file is reached, the remaining characters are returned and the current position is set to the end of the file. In case of an error, the current position is not changed.
Reads a number of characters into a String, starting from the current position. The returned string may start and/or end with incomplete Unicode code points in case the current read position and/or the last read character (code unit) is in the middle of a code point. The current position is advanced accordingly. If the end of the file is reached, the number of returned characters can be less than the requested number, and the current position is set to the end of the file. In case of an error, the current position is not changed.
Returns the byte at the current position of the file. The current position is not changed.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: eb387be6a3cfHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De synchrone lidfunctie PeekByte van de klasse ara::per::ReadAccessor leest één enkele byte op de huidige positie van het bestand uit, zonder de bestandspositie te wijzigen [SWS_PER_00418]. De functie vereist het insluiten van de header ara/per/read_accessor.h, accepteert geen parameters en retourneert de gelezen waarde in een ara::core::Result<ara::core::Byte>[SWS_PER_00418].
Treedt er tijdens de toegang een fout op, dan bevat het retourobject ofwel een fabrikantspecifieke foutcode ofwel een van de gedefinieerde fouten uit PerErrc[SWS_PER_00418]:
PerErrc::kEof: De huidige positie bevindt zich aan het einde van het bestand of het bestand is leeg.
PerErrc::kPhysicalStorageFailure: De toegang tot het fysieke geheugen is mislukt.
PerErrc::kValidationFailed: De validiteit van de opgeslagen gegevens kan niet worden gewaarborgd.
PerErrc::kEncryptionFailed: De ontsleuteling van de opgeslagen gegevens is mislukt.
PerErrc::kAuthenticationFailed: De controle van de MAC (Message Authentication Code) is mislukt.
Wat betreft de uitvoeringsveiligheid is de methode gedeclareerd als noexcept en exception safe[SWS_PER_00418]. Omdat de specificatie PeekByte echter classificeert als not thread-safe, vereisen parallelle aanroepen op dezelfde instantie van ara::per::ReadAccessor vermoedelijk synchronisatie aan de toepassingszijde [SWS_PER_00418]. Vraag Q-14b3334052f6c810 (open)
Deze gebruiksinstructie is gegenereerd door een AI op basis van de AUTOSAR-specificatie R25-11.
Returns the character at the current position of the file. The current position is not changed.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: b4d92aee30b2Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De methode PeekChar van de klasse ara::per::ReadAccessor (header #include "ara/per/read_accessor.h") leest het teken op de huidige positie van een bestand uit, zonder de leeswijzer te wijzigen [SWS_PER_00167].
Gebruik
De functie heeft de signatuur ara::core::Result<char> PeekChar() const noexcept;. Deze werkt synchroon, is gedeclareerd als const en garandeert uitzonderingsveiligheid (exception safe) [SWS_PER_00167]. Als retourwaarde dient een ara::core::Result<char>, die bij succes het uitgelezen teken bevat [SWS_PER_00167].
Foutafhandeling
Treedt er een fout op, dan levert de ara::core::Result fabrikantspecifieke fouten of een van de volgende foutcodes uit PerErrc[SWS_PER_00167]:
PerErrc::kEof: De huidige leespositie heeft het bestandseinde bereikt of het bestand is leeg [SWS_PER_00167].
PerErrc::kPhysicalStorageFailure: De toegang tot het fysieke opslagmedium is mislukt [SWS_PER_00167].
PerErrc::kValidationFailed: De geldigheid van de opgeslagen gegevens kan niet worden gewaarborgd [SWS_PER_00167].
PerErrc::kEncryptionFailed: De ontsleuteling van de opgeslagen gegevens is mislukt [SWS_PER_00167].
PerErrc::kAuthenticationFailed: De controle van de Message Authentication Code (MAC) van de gegevens is mislukt [SWS_PER_00167].
Gelijktijdigheid en beperkingen
De bewerking is niet thread-safe (not thread-safe) [SWS_PER_00167]. Daarom moeten parallelle toegangen tot dezelfde ReadAccessor-instantie door de aanroeper worden gesynchroniseerd.
Deze gebruiksinstructie is gebaseerd op de specificatie AUTOSAR Adaptive release R25-11.
Reads all remaining bytes into a Vector of Byte, starting from the current position. The current position is set to the end of the file. In case of an error, the current position is not changed.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 325f0e841208HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De parameterloze methode ReadBinary van de klasse ara::per::ReadAccessor leest synchroon alle vanaf de actuele bestandspositie resterende bytes tot aan het einde van het bestand in een ara::core::Vector<ara::core::Byte> in [SWS_PER_00421]. Na een succesvolle leesbewerking wordt de actuele bestandspositie op het einde van het bestand gezet [SWS_PER_00421]. De retourwaarde is ingekapseld als ara::core::Result en gedeclareerd als noexcept; interpretatie: aangezien er geen asynchroon retourtype voorhanden is, blokkeert de methode vermoedelijk de aanroeper. Vraag Q-8e6054123cea57ac (open)
Treedt er bij het lezen een fout op, dan blijft de oorspronkelijke bestandspositie ongewijzigd behouden [SWS_PER_00421]. De geretourneerde ara::core::Result bevat in dat geval hetzij fabrikantspecifieke fouten, hetzij een van de specifieke foutcodes uit PerErrc[SWS_PER_00421]:
PerErrc::kPhysicalStorageFailure: De fysieke geheugentoegang mislukt [SWS_PER_00421].
PerErrc::kValidationFailed: De geldigheid van de opgeslagen gegevens kan niet worden gegarandeerd [SWS_PER_00421].
PerErrc::kEncryptionFailed: De ontsleuteling van de gegevens mislukt [SWS_PER_00421].
PerErrc::kAuthenticationFailed: De verificatie van de MAC mislukt [SWS_PER_00421].
PerErrc::kEof: Het bestand is leeg of de leespositie staat al aan het einde van het bestand [SWS_PER_00421].
De functie is gedefinieerd als uitzonderingsveilig (exception safe), maar uitdrukkelijk als niet-thread-safe (not thread-safe) [SWS_PER_00421]. Gelijktijdige aanroepen op dezelfde ReadAccessor moeten daarom door de aanroeper worden gecoördineerd. Indien niet de gehele resterende bestandsinhoud in één keer, maar slechts een deel van de bytes moet worden gelezen, dient in plaats daarvan de overbelaste variant ReadBinary(std::uint64_t n) te worden gebruikt [SWS_PER_00422].
Deze tekst is opgesteld door een AI. Alle gegevens zijn gebaseerd op de eisen van de AUTOSAR-specificatie.
Reads a number of bytes into a Vector of Byte, starting from the current position. The current position is advanced accordingly. If the end of the file is reached, the number of returned bytes can be less than the requested number, and the current position is set to the end of the file. In case of an error, the current position is not changed.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4e14906b2550Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De functie ReadBinary van de klasse ara::per::ReadAccessor leest uitgaande van de actuele bestandspositie maximaal n bytes synchroon in een ara::core::Vector<ara::core::Byte> in [SWS_PER_00422]. Bij een succesvolle leesbewerking wordt de actuele bestandspositie opgeschoven met het aantal gelezen bytes; wordt daarbij het einde van het bestand bereikt, dan kan de geretourneerde vector minder dan n bytes bevatten, en de bestandspositie blijft aan het einde van het bestand [SWS_PER_00422].
Treedt er tijdens de leesbewerking een fout op, dan wordt de bestandspositie niet gewijzigd [SWS_PER_00422]. De foutafhandeling geschiedt via de geretourneerde ara::core::Result, die specifieke foutcodes uit PerErrc of fabrikantspecifieke fouten kan bevatten [SWS_PER_00422]:
PerErrc::kPhysicalStorageFailure: Toegang tot het fysieke geheugen mislukt [SWS_PER_00422].
PerErrc::kValidationFailed: Validatie van de opgeslagen gegevens kan niet worden gegarandeerd [SWS_PER_00422].
PerErrc::kEncryptionFailed: Ontsleuteling van de opgeslagen gegevens mislukt [SWS_PER_00422].
PerErrc::kEof: De actuele positie bevindt zich al aan het einde van het bestand of het bestand is leeg [SWS_PER_00422].
PerErrc::kAuthenticationFailed: Controle van de MAC (Message Authentication Code) van de gegevens mislukt [SWS_PER_00422].
Wat betreft gelijktijdigheid is de methode gespecificeerd als not thread-safe, waardoor parallelle toegangen tot dezelfde accessor aan applicatiezijde moeten worden gesynchroniseerd; ze is echter gedeclareerd als exception safe en geannoteerd met noexcept[SWS_PER_00422]. In tegenstelling tot de parameterloze overbelasting [SWS_PER_00421], die altijd alle resterende bytes tot aan het einde van het bestand leest, maakt deze variant het stapsgewijs inlezen van gedefinieerde blokgroottes mogelijk.
Deze tekst is gegenereerd door een AI en dient als curatiehulpmiddel.
Reads a complete line of characters into a String, advancing the current position accordingly. The end of the line is demarcated by the delimiter, or by "\\n" (ASCII 0x0a) if that parameter is omitted. The delimiter itself is not included in the returned String. Only Unicode code points with one character (code unit) can be used as delimiters. The returned string may start with an incomplete Unicode code point in case the current read position is in the middle of a code point. If the end of the file is reached, the remaining characters are returned and the current position is set to the end of the file. In case of an error, the current position is not changed.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 30f46bde066bHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De synchrone methode ReadLine van de klasse ara::per::ReadAccessor leest een volledige regel tot aan een vastgesteld scheidingsteken in een ara::core::String in en verplaatst de leespositie dienovereenkomstig voorwaarts [SWS_PER_00119]. Standaard fungeert \n (ASCII 0x0a) als scheidingsteken; als delimiter zijn uitsluitend Unicode-codepunten toegestaan die uit één enkele code-unit bestaan [SWS_PER_00119]. Het scheidingsteken zelf is niet opgenomen in de resultaatstring. Als het leesproces het bestandseinde bereikt, worden alle tot dan toe resterende tekens geretourneerd en wordt de positie op het bestandseinde gezet [SWS_PER_00119].
Foutafhandeling
De functie retourneert een ara::core::Result<ara::core::String>[SWS_PER_00119]. Als er een fout optreedt, wordt de huidige positie niet gewijzigd [SWS_PER_00119]. Tot de gespecificeerde fouten behoren:
PerErrc::kEof: De huidige leespositie staat aan het bestandseinde of het bestand is leeg [SWS_PER_00119].
StorageFailure: De toegang tot het fysieke geheugen mislukt [SWS_PER_00119].
PerErrc::kValidationFailed: De geldigheid van de opgeslagen gegevens kan niet worden gegarandeerd [SWS_PER_00119].
PerErrc::kEncryptionFailed: De ontsleuteling van de gegevens mislukt [SWS_PER_00119].
PerErrc::kAuthenticationFailed: De controle van de Message Authentication Code (MAC) mislukt [SWS_PER_00119].
Gelijktijdigheid en randvoorwaarden
De methode is gedeclareerd als noexcept en uitzonderingsveilig („exception safe”), maar expliciet niet thread-safe („not thread-safe”) [SWS_PER_00119]. Interpretatie: Bij gelijktijdige aanroepen op dezelfde ReadAccessor-instantie is vermoedelijk externe synchronisatie vereist. Vraag Q-307b6e250938c76b (open) Als de huidige leespositie zich midden in een meerdelig Unicode-codepunt bevindt, kan de geretourneerde tekenreeks met een onvolledig codepunt beginnen [SWS_PER_00119].
Deze tekst is gegenereerd door een AI en is gebaseerd op de AUTOSAR-specificatie.
Reads a number of characters into a String, starting from the current position. The returned string may start and/or end with incomplete Unicode code points in case the current read position and/or the last read character (code unit) is in the middle of a code point. The current position is advanced accordingly. If the end of the file is reached, the number of returned characters can be less than the requested number, and the current position is set to the end of the file. In case of an error, the current position is not changed.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 042205956a20Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De synchrone elementfunctie ReadText van de klasse ara::per::ReadAccessor leest vanaf de actuele bestandspositie maximaal n tekens in een ara::core::String in [SWS_PER_00165]. Het insluiten geschiedt via de header #include "ara/per/read_accessor.h"[SWS_PER_00165].
Gebruik en semantiek
De methode wordt aangeroepen met de parameter std::uint64_t n en retourneert een ara::core::Result<ara::core::String>[SWS_PER_00165]. Bij een succesvolle leesbewerking wordt de actuele leespositie opgeschoven overeenkomstig het aantal gelezen tekens [SWS_PER_00165]. Als de leesbewerking het einde van het bestand bereikt, kan het aantal geretourneerde tekens kleiner zijn dan de gevraagde n; de bestandspositie wordt daarbij op het einde van het bestand gezet [SWS_PER_00165]. Indien de actuele leespositie of het laatst gelezen teken (code unit) midden in een Unicode-codepunt ligt, kan de geretourneerde string met onvolledige codepunten beginnen of eindigen [SWS_PER_00165].
Foutafhandeling en randvoorwaarden
In geval van een fout blijft de bestandspositie ongewijzigd [SWS_PER_00165]. De geretourneerde ara::core::Result kan fabrikantspecifieke fouten of de volgende foutcodes bevatten [SWS_PER_00165]:
PerErrc::kPhysicalStorageFailure: Fysieke geheugentoegang is mislukt [SWS_PER_00165].
PerErrc::kValidationFailed: De geldigheid van de opgeslagen gegevens kan niet worden gewaarborgd [SWS_PER_00165].
PerErrc::kEncryptionFailed: De ontsleuteling van de opgeslagen gegevens is mislukt [SWS_PER_00165].
PerErrc::kEof: De actuele positie bevindt zich al aan het einde van het bestand of het bestand is leeg [SWS_PER_00165].
PerErrc::kAuthenticationFailed: De MAC-controle van de gegevens is mislukt [SWS_PER_00165].
Wat betreft gelijktijdigheid is de functie gedeclareerd als uitzonderingsveilig (exception safe), maar uitdrukkelijk als niet-thread-safe (not thread-safe) [SWS_PER_00165]. Parallelle aanroepen op dezelfde instantie moeten derhalve worden gesynchroniseerd.
Samenspel
Naast de overbelasting met lengtebeperking bestaat er een parameterloze variant ReadText()[SWS_PER_00420], die vanaf de actuele positie alle resterende tekens tot aan het einde van het bestand leest.
Deze tekst is opgesteld en gecureerd door een AI. Alle gegevens zijn gebaseerd op de specificatie van de AUTOSAR-release R25-11.
Reads all remaining characters into a String, starting from the current position. The returned string may start with an incomplete Unicode code point in case the current read position is in the middle of a code point. The current position is set to the end of the file. In case of an error, the current position is not changed.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: d5efea9a0341Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De synchrone methode ReadText van de klasse ara::per::ReadAccessor leest alle vanaf de actuele bestandspositie resterende tekens in een ara::core::String in [SWS_PER_00420]. De functie verwacht geen parameters en plaatst na succesvol lezen de actuele positie aan het einde van het bestand [SWS_PER_00420]. Bevindt de leespositie zich midden in een Unicode-codepunt, dan kan de geretourneerde string met een onvolledig codepunt beginnen [SWS_PER_00420].
De retourwaarde is een ara::core::Result<ara::core::String>[SWS_PER_00420]. Treedt er een fout op, dan blijft de bestandspositie ongewijzigd (rollback-semantiek) en bevat het resultaat hetzij een fabrikantspecifieke fout, hetzij een foutcode uit PerErrc[SWS_PER_00420]:
PerErrc::kEof: De actuele positie staat al aan het einde van het bestand of het bestand is leeg [SWS_PER_00420].
PerErrc::kPhysicalStorageFailure: De toegang tot het fysieke geheugen mislukt [SWS_PER_00420].
PerErrc::kValidationFailed: De geldigheid van de opgeslagen gegevens kan niet worden gewaarborgd [SWS_PER_00420].
PerErrc::kEncryptionFailed: De ontsleuteling van de opgeslagen gegevens mislukt [SWS_PER_00420].
PerErrc::kAuthenticationFailed: De controle van de Message Authentication Code (MAC) mislukt [SWS_PER_00420].
Wat betreft gelijktijdigheid is ReadText gespecificeerd als uitzonderingsveilig (exception safe) en gedeclareerd met noexcept, maar expliciet geclassificeerd als niet-thread-safe [SWS_PER_00420].
In samenspel met de verwante overbelasting ReadText(std::uint64_t n), die maximaal n tekens leest en de positie overeenkomstig laat opschuiven [SWS_PER_00165], dient de parameterloze variant voor het volledig inlezen van de gehele resterende inhoud tot aan het einde van het bestand [SWS_PER_00420].
Deze gebruiksinstructie is geautomatiseerd opgesteld aan de hand van de AUTOSAR-specificatie R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel