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).
Permet la lecture par blocs, ligne par ligne ou par caractères de données de fichiers et binaires persistées.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 811820211677ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Permet la lecture par blocs, ligne par ligne ou par caractères de données de fichiers et binaires persistées.
La classe ara::per::ReadAccessor fournit des méthodes synchrones pour la lecture séquentielle et par lignes de fichiers en mode binaire et texte [SWS_PER_00421], [SWS_PER_00119]. En plus de la lecture avec consommation, elle permet la prévisualisation sans déplacement de pointeur des octets ou caractères suivants. Comme les instances ne sont pas thread-safe, les accès parallèles doivent être coordonnés en externe, tandis qu'en cas d'erreur, une garantie de rollback protège la position du curseur de lecture [SWS_PER_00419].
Contexte et champ d'application
La classe ara::per::ReadAccessor fournit une interface pour la lecture synchrone de contenus de fichiers au sein de la gestion de la persistance (module per) et dérive virtuellement de FileAccessor. Elle abstrait l'accès en lecture aux stockages de données persistés et met à disposition des méthodes d'accès aussi bien binaires que textuelles. Les applications peuvent vérifier et récupérer des octets ou caractères individuels ainsi que lire des blocs contigus ou des lignes complètes via des fonctions spécialisées.
Cycle de vie et concurrence
Le constructeur par défaut de ReadAccessor est supprimé [SWS_PER_00461] ; l'instanciation s'effectue donc typiquement par l'intermédiaire de mécanismes d'ouverture et d'accès de niveau supérieur du module de persistance. La libération de l'interface et des ressources d'accès liées s'effectue via le destructeur virtuel ~ReadAccessor()[SWS_PER_00417]. Les instances de ReadAccessor possèdent un pointeur de lecture interne qui gère la position actuelle dans le fichier. Toutes les méthodes de la classe sont explicitement spécifiées comme non thread-safe (not thread-safe) [SWS_PER_00419], raison pour laquelle les opérations de lecture simultanées sur la même instance doivent être synchronisées en externe par les appelants.
Voies d'utilisation pour les données binaires et textuelles
Pour les opérations de fichier binaires, la classe propose des fonctions de lecture avec prévisualisation ou séquentielle. Avec PeekByte(), l'octet à la position de lecture actuelle peut être inspecté sans modifier le pointeur de lecture [SWS_PER_00418]. En revanche, GetByte() lit exactement un octet et fait avancer la position [SWS_PER_00419]. De plus grands blocs de données peuvent être lus via ReadBinary(n) dans un ara::core::Vector<ara::core::Byte>, la position étant adaptée en conséquence ; si la fin du fichier est atteinte prématurément, le vecteur contient moins d'octets que demandé [SWS_PER_00422]. Au moyen de ReadBinary(), tous les octets restants jusqu'à la fin du fichier peuvent être obtenus en une seule étape [SWS_PER_00421].
Diagramme de séquence : Déroulement typique d'un accès en lecture séquentiel avec vérification préalable et traitement des données par sections. Sources : [SWS_PER_00418], [SWS_PER_00422], [SWS_PER_00421].
En mode texte, PeekChar() fournit une prévisualisation basée sur les caractères [SWS_PER_00167], tandis que GetChar() consomme le caractère suivant [SWS_PER_00168]. La lecture ligne par ligne s'effectue via ReadLine(), qui lit jusqu'à un délimiteur (par défaut : '\n', ASCII 0x0a) ; le délimiteur n'est alors pas repris dans la chaîne de résultat [SWS_PER_00119]. Des segments de n caractères ou l'ensemble du contenu restant peuvent être lus via les surcharges de ReadText()[SWS_PER_00165], [SWS_PER_00420]. Si le curseur de lecture se trouve au milieu d'un caractère multi-octets, les chaînes de caractères résultantes peuvent présenter des points de code Unicode incomplets [SWS_PER_00119], [SWS_PER_00165].
Scénarios d'erreur et gestion des erreurs
Toutes les opérations de lecture de ReadAccessor renvoient leurs valeurs encapsulées dans un ara::core::Result et sont spécifiées comme sûres vis-à-vis des exceptions (exception safe) [SWS_PER_00419]. Si une erreur survient au cours d'un accès, une sémantique stricte de rollback s'applique : la position actuelle du curseur de lecture reste toujours inchangée en cas d'erreur [SWS_PER_00421], [SWS_PER_00422]. Les états d'erreur typiques documentés comprennent :
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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : eb387be6a3cfProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre synchrone PeekByte de la classe ara::per::ReadAccessor lit un octet individuel à la position actuelle du fichier sans modifier la position du fichier [SWS_PER_00418]. La fonction nécessite l'inclusion de l'en-tête ara/per/read_accessor.h, n'accepte aucun paramètre et renvoie la valeur lue dans un ara::core::Result<ara::core::Byte>[SWS_PER_00418].
Si une erreur survient pendant l'accès, l'objet de retour contient soit un code d'erreur spécifique au constructeur, soit l'une des erreurs définies issues de PerErrc[SWS_PER_00418] :
PerErrc::kEof : la position actuelle se trouve à la fin du fichier ou le fichier est vide.
PerErrc::kPhysicalStorageFailure : l'accès à la mémoire physique a échoué.
PerErrc::kValidationFailed : la validité des données stockées ne peut pas être garantie.
PerErrc::kEncryptionFailed : le déchiffrement des données stockées a échoué.
PerErrc::kAuthenticationFailed : la vérification du MAC (Message Authentication Code) a échoué.
Concernant la sécurité d'exécution, la méthode est déclarée comme noexcept et exception safe[SWS_PER_00418]. Toutefois, la spécification classifiant PeekByte comme not thread-safe, des appels parallèles sur la même instance de ara::per::ReadAccessor devraient nécessiter une synchronisation au niveau de l'application [SWS_PER_00418]. Question Q-14b3334052f6c810 (ouverte)
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R25-11.
Returns the character at the current position of the file. The current position is not changed.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b4d92aee30b2Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode PeekChar de la classe ara::per::ReadAccessor (en-tête #include "ara/per/read_accessor.h") lit le caractère à la position actuelle d'un fichier sans modifier le pointeur de lecture [SWS_PER_00167].
Utilisation
La fonction possède la signature ara::core::Result<char> PeekChar() const noexcept;. Elle fonctionne de manière synchrone, est déclarée comme const et garantit la sécurité face aux exceptions (exception safe) [SWS_PER_00167]. Un ara::core::Result<char> fait office de valeur de retour, lequel contient en cas de succès le caractère lu [SWS_PER_00167].
Gestion des erreurs
Si une erreur survient, le ara::core::Result fournit des erreurs spécifiques au constructeur ou l'un des codes d'erreur suivants issus de PerErrc[SWS_PER_00167] :
PerErrc::kEof : la position de lecture actuelle a atteint la fin du fichier ou le fichier est vide [SWS_PER_00167].
PerErrc::kPhysicalStorageFailure : L'accès au support de stockage physique a échoué [SWS_PER_00167].
PerErrc::kValidationFailed : la validité des données stockées ne peut pas être garantie [SWS_PER_00167].
PerErrc::kEncryptionFailed : le déchiffrement des données stockées a échoué [SWS_PER_00167].
PerErrc::kAuthenticationFailed : la vérification du code d'authentification de message (MAC) des données a échoué [SWS_PER_00167].
Concurrence et restrictions
L'opération n'est pas sûre pour les threads (not thread-safe) [SWS_PER_00167]. Par conséquent, les accès parallèles à la même instance de ReadAccessor doivent être synchronisés par l'appelant.
Cette note d'utilisation est basée sur la spécification 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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 325f0e841208ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode sans paramètre ReadBinary de la classe ara::per::ReadAccessor lit de manière synchrone tous les octets restants à partir de la position actuelle du fichier jusqu’à la fin du fichier dans un ara::core::Vector<ara::core::Byte>[SWS_PER_00421]. Après une opération de lecture réussie, la position actuelle du fichier est positionnée sur la fin du fichier [SWS_PER_00421]. La valeur de retour est encapsulée sous forme de ara::core::Result et déclarée comme noexcept ; Interprétation : en l’absence de type de retour asynchrone, la méthode devrait bloquer l’appelant. Question Q-8e6054123cea57ac (ouverte)
Si une erreur survient lors de la lecture, la position initiale du fichier est conservée sans modification [SWS_PER_00421]. Le ara::core::Result renvoyé contient dans ce cas soit des erreurs spécifiques au constructeur, soit l’un des codes d’erreur spécifiques issus de PerErrc[SWS_PER_00421] :
PerErrc::kPhysicalStorageFailure : l’accès physique au stockage échoue [SWS_PER_00421].
PerErrc::kValidationFailed : la validité des données stockées ne peut pas être garantie [SWS_PER_00421].
PerErrc::kEncryptionFailed : le déchiffrement des données échoue [SWS_PER_00421].
PerErrc::kAuthenticationFailed : la vérification du MAC échoue [SWS_PER_00421].
PerErrc::kEof : le fichier est vide ou la position de lecture se trouve déjà à la fin du fichier [SWS_PER_00421].
La fonction est définie comme sûre vis-à-vis des exceptions (exception safe), mais expressément comme non thread-safe (not thread-safe) [SWS_PER_00421]. Les appels concurrents sur le même ReadAccessor doivent donc être coordonnés par l’appelant. Si l’on ne souhaite pas lire l’intégralité du contenu restant du fichier en une seule fois, mais seulement un sous-ensemble d’octets, il convient d’utiliser à la place la variante surchargée ReadBinary(std::uint64_t n)[SWS_PER_00422].
Ce texte a été généré par une IA. Toutes les indications sont basées sur les exigences de la spécification AUTOSAR.
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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4e14906b2550Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction ReadBinary de la classe ara::per::ReadAccessor lit jusqu’à n octets de manière synchrone dans un ara::core::Vector<ara::core::Byte> à partir de la position actuelle du fichier [SWS_PER_00422]. En cas d’opération de lecture réussie, la position actuelle du fichier avance du nombre d’octets lus ; si la fin du fichier est atteinte à cette occasion, le vecteur retourné peut contenir moins de n octets, et la position du fichier reste à la fin du fichier [SWS_PER_00422].
Si une erreur survient pendant l’opération de lecture, la position du fichier n’est pas modifiée [SWS_PER_00422]. La gestion des erreurs s’effectue via le ara::core::Result retourné, qui peut contenir des codes d’erreur spécifiques issus de PerErrc ou des erreurs spécifiques au constructeur [SWS_PER_00422] :
PerErrc::kPhysicalStorageFailure : l’accès au stockage physique échoue [SWS_PER_00422].
PerErrc::kValidationFailed : la validation des données stockées ne peut pas être garantie [SWS_PER_00422].
PerErrc::kEncryptionFailed : le déchiffrement des données stockées échoue [SWS_PER_00422].
PerErrc::kEof : la position actuelle se trouve déjà à la fin du fichier ou le fichier est vide [SWS_PER_00422].
PerErrc::kAuthenticationFailed : la vérification du MAC (Message Authentication Code) des données échoue [SWS_PER_00422].
Concernant la concurrence, la méthode est spécifiée comme not thread-safe, raison pour laquelle les accès parallèles au même accesseur doivent être synchronisés côté application ; elle est cependant déclarée comme exception safe et annotée avec noexcept[SWS_PER_00422]. À la différence de la surcharge sans paramètre [SWS_PER_00421], qui lit toujours tous les octets restants jusqu’à la fin du fichier, cette variante permet la lecture par morceaux de tailles de bloc définies.
Ce texte a été généré par une IA et sert d’aide à la curation.
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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 30f46bde066bProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La méthode synchrone ReadLine de la classe ara::per::ReadAccessor lit une ligne complète jusqu'à un délimiteur défini dans un ara::core::String et fait progresser la position de lecture en conséquence [SWS_PER_00119]. Par défaut, \n (ASCII 0x0a) fait office de séparateur ; seuls les points de code Unicode composés d'une seule unité de code sont autorisés en tant que delimiter[SWS_PER_00119]. Le délimiteur lui-même n'est pas inclus dans la chaîne de résultat. Si le processus de lecture atteint la fin du fichier, tous les caractères restants jusque-là sont renvoyés et la position est définie sur la fin du fichier [SWS_PER_00119].
Gestion des erreurs
La fonction renvoie un ara::core::Result<ara::core::String>[SWS_PER_00119]. Si une erreur survient, la position actuelle n'est pas modifiée [SWS_PER_00119]. Parmi les erreurs spécifiées figurent :
PerErrc::kEof : la position de lecture actuelle se trouve à la fin du fichier ou le fichier est vide [SWS_PER_00119].
StorageFailure : l'accès à la mémoire physique échoue [SWS_PER_00119].
PerErrc::kValidationFailed : la validité des données stockées ne peut pas être garantie [SWS_PER_00119].
PerErrc::kEncryptionFailed : le déchiffrement des données échoue [SWS_PER_00119].
PerErrc::kAuthenticationFailed : la vérification du code d'authentification de message (MAC) échoue [SWS_PER_00119].
Concurrence et contraintes
La méthode est déclarée comme noexcept et sûre face aux exceptions (« exception safe »), mais explicitement non sûre pour les threads (« not thread-safe ») [SWS_PER_00119]. Interprétation : en cas d'appels concurrents sur la même instance de ReadAccessor, une synchronisation externe devrait être nécessaire. Question Q-307b6e250938c76b (ouverte) Si la position de lecture actuelle se trouve au milieu d'un point de code Unicode multipartite, la chaîne de caractères renvoyée peut débuter par un point de code incomplet [SWS_PER_00119].
Ce texte a été généré par une IA et est basé sur la spécification AUTOSAR.
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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 042205956a20Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre synchrone ReadText de la classe ara::per::ReadAccessor lit jusqu’à n caractères dans un ara::core::String à partir de la position actuelle du fichier [SWS_PER_00165]. L’inclusion s’effectue via l’en-tête #include "ara/per/read_accessor.h"[SWS_PER_00165].
Utilisation et sémantique
La méthode est appelée avec le paramètre std::uint64_t n et renvoie un ara::core::Result<ara::core::String>[SWS_PER_00165]. En cas d’opération de lecture réussie, la position de lecture actuelle avance en fonction du nombre de caractères lus [SWS_PER_00165]. Si l’opération de lecture atteint la fin du fichier, le nombre de caractères renvoyés peut être inférieur au n demandé ; la position du fichier est alors positionnée sur la fin du fichier [SWS_PER_00165]. Si la position de lecture actuelle ou le dernier caractère lu (unité de code) se situe au milieu d’un point de code Unicode, la chaîne retournée peut commencer ou se terminer par des points de code incomplets [SWS_PER_00165].
Gestion des erreurs et conditions limites
En cas d’erreur, la position du fichier reste inchangée [SWS_PER_00165]. Le ara::core::Result retourné peut contenir des erreurs spécifiques au constructeur ou les codes d’erreur suivants [SWS_PER_00165] :
PerErrc::kPhysicalStorageFailure : l’accès physique au stockage a échoué [SWS_PER_00165].
PerErrc::kValidationFailed : la validité des données stockées ne peut pas être garantie [SWS_PER_00165].
PerErrc::kEncryptionFailed : le déchiffrement des données stockées a échoué [SWS_PER_00165].
PerErrc::kEof : la position actuelle se trouve déjà à la fin du fichier ou le fichier est vide [SWS_PER_00165].
PerErrc::kAuthenticationFailed : la vérification MAC des données a échoué [SWS_PER_00165].
Concernant la concurrence, la fonction est déclarée comme sûre vis-à-vis des exceptions (exception safe), mais expressément comme non thread-safe (not thread-safe) [SWS_PER_00165]. Les appels parallèles sur la même instance doivent donc être synchronisés.
Interaction
En plus de la surcharge avec limitation de longueur, il existe une variante sans paramètre ReadText()[SWS_PER_00420] qui lit tous les caractères restants jusqu’à la fin du fichier à partir de la position actuelle.
Ce texte a été généré et révisé par une IA. Toutes les indications s’appuient sur la spécification de la version AUTOSAR 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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d5efea9a0341Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode synchrone ReadText de la classe ara::per::ReadAccessor lit tous les caractères restants à partir de la position actuelle du fichier dans un ara::core::String[SWS_PER_00420]. La fonction n’attend aucun paramètre et, après une lecture réussie, positionne la position actuelle sur la fin du fichier [SWS_PER_00420]. Si la position de lecture se trouve au milieu d’un point de code Unicode, la chaîne retournée peut commencer par un point de code incomplet [SWS_PER_00420].
La valeur de retour est un ara::core::Result<ara::core::String>[SWS_PER_00420]. Si une erreur survient, la position du fichier reste inchangée (sémantique de rollback) et le résultat contient soit une erreur spécifique au constructeur, soit un code d’erreur issu de PerErrc[SWS_PER_00420] :
PerErrc::kEof : la position actuelle se trouve déjà à la fin du fichier ou le fichier est vide [SWS_PER_00420].
PerErrc::kPhysicalStorageFailure : l’accès au stockage physique échoue [SWS_PER_00420].
PerErrc::kValidationFailed : la validité des données stockées ne peut pas être garantie [SWS_PER_00420].
PerErrc::kEncryptionFailed : le déchiffrement des données stockées échoue [SWS_PER_00420].
PerErrc::kAuthenticationFailed : la vérification du code d’authentification de message (MAC) échoue [SWS_PER_00420].
En ce qui concerne la concurrence, ReadText est spécifiée comme sûre vis-à-vis des exceptions (exception safe) et déclarée avec noexcept, mais explicitement classée comme non thread-safe [SWS_PER_00420].
En interaction avec la surcharge associée ReadText(std::uint64_t n), qui lit au maximum n caractères et fait avancer la position en conséquence [SWS_PER_00165], la variante sans paramètre sert à lire l’intégralité du contenu restant jusqu’à la fin du fichier [SWS_PER_00420].
Cette note d'utilisation a été générée automatiquement à partir de la spécification AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand