Conteneur de mémoire séquentiel géré dynamiquement avec prise en charge d'allocateur polymorphe pour les applications adaptatives.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 221750794e81ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Conteneur de mémoire séquentiel géré dynamiquement avec prise en charge d'allocateur polymorphe pour les applications adaptatives.
ara::core::Vector est un conteneur séquentiel pour l'AUTOSAR Adaptive Platform, qui fournit des tableaux dynamiques avec prise en charge d'allocateurs polymorphes [SWS_CORE_01303]. La classe permet l'insertion flexible, la gestion et l'adressage aléatoire d'éléments via des itérateurs ou des opérateurs d'accès dans une mémoire contiguë. Au lieu des exceptions C++ standard conventionnelles, l'implémentation signale les dépassements de limites par l'intermédiaire de violations spécifiques à la plateforme telles que IsoStdOutOfRangeViolation[SWS_CORE_01354]. Des accès erronés en dehors des préconditions définies devraient vraisemblablement conduire à un comportement indéfini. Question Q-656c6bf029de714e (ouverte)
Contexte
La classe ara::core::Vector constitue une implémentation de conteneur séquentiel de l'AUTOSAR Adaptive Platform, qui s'inspire de std::pmr::vector. Elle gère des éléments du type value_type[SWS_CORE_01302] dans une zone de mémoire contiguë et interagit directement avec l'application ainsi qu'un allocateur configurable de type allocator_type[SWS_CORE_01303]. Grâce à l'intégration d'allocateurs polymorphes, la classe permet une gestion de la mémoire déterministe et économe en ressources. L'allocateur sous-jacent peut être interrogé via la méthode get_allocator[SWS_CORE_01331]. Pour l'intégration dans les algorithmes C++ standardisés, la classe fournit des définitions de types fondamentales telles que pointer[SWS_CORE_01304], const_pointer[SWS_CORE_01305], reference[SWS_CORE_01306], const_reference[SWS_CORE_01307], size_type[SWS_CORE_01308] et difference_type[SWS_CORE_01309].
Cycle de vie
La création d'une instance s'effectue via un large choix de constructeurs :
Construction par défaut sans éléments [SWS_CORE_01318], qui est conditionnellement noexcept, selon l'allocateur.
Spécification explicite d'une instance d'allocateur [SWS_CORE_01319] sous forme d'initialisation garantie sans exception (noexcept).
Les relations de propriété peuvent être transférées par copie ou par déplacement. Le constructeur de copie [SWS_CORE_01314] ainsi que l'opérateur d'affectation par copie [SWS_CORE_01315] dupliquent les données et sont conditionnellement noexcept, pour autant que le type d'élément soit copiable sans exception ; une surcharge de copie avec allocateur est en outre disponible [SWS_CORE_01323]. Le constructeur de déplacement [SWS_CORE_01316] et l'opérateur d'affectation par déplacement [SWS_CORE_01317] permettent un transfert de propriété économe en ressources, dont la garantie noexcept dépend des propriétés de l'allocateur ; ici aussi, il existe une variante avec affectation d'allocateur [SWS_CORE_01324]. Pour une réaffectation ultérieure, on utilise les surcharges de méthode de assign[SWS_CORE_01328][SWS_CORE_01329][SWS_CORE_01330] ainsi que l'opérateur d'affectation pour listes d'initialisation [SWS_CORE_01327].
Le contenu de deux vecteurs peut être échangé via swap[SWS_CORE_01374]. Lors de l'appel de clear[SWS_CORE_01375], tous les éléments contenus sont détruits, la capacité réservée reste cependant conservée. À la fin de la durée de vie, le destructeur ~Vector[SWS_CORE_01326] libère toutes les ressources ; il est garanti d'être déclaré comme noexcept.
Parcours d'utilisation
Un chemin d'utilisation typique comprend l'instanciation, la préallocation, le remplissage ainsi que l'accès consécutif :
Construction et réservation : l'instance est créée, de préférence en transmettant un allocateur [SWS_CORE_01319]. Si la taille cible est connue, reserve[SWS_CORE_01347] peut être appelé au préalable afin d'éviter des réallocations dynamiques ultérieures.
Contrairement au comportement C++ standard, ara::core::Vector signale les états d'erreur via des violations spécifiques à la plateforme au lieu d'exceptions C++ standard :
Violation de plage : si un indice n >= size() est transmis à at, une IsoStdOutOfRangeViolation est déclenchée au lieu de std::out_of_range[SWS_CORE_01354][SWS_CORE_01355].
Erreur de longueur : si un appel de resize requiert une taille sz > max_size(), une IsoStdLengthErrorViolation est déclenchée au lieu de std::length_error[SWS_CORE_01350][SWS_CORE_01351]. De même, reserve déclenche IsoStdLengthErrorViolation en cas de demande de taille non autorisée [SWS_CORE_01347].
Accès non vérifié : l'accès direct via operator[][SWS_CORE_01352][SWS_CORE_01353] ne vérifie pas les limites de plage. Un appel en dehors de l'intervalle valide viole les préconditions et conduit vraisemblablement à un comportement indéfini. Question (ouverte)
except for the following deviations: 1. Function is conditionally noexcept Implementation {<may-throw-on-allocate>} shall be an implementation-defined type ≙ [vector]
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 196b7382f846ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation et contexte d'appel
La fonction membre modèle assign pour ara::core::Vector remplace le contenu actuel du vecteur par les éléments de la plage [first, last) conformément à l'usage correspondant dans std::vector[SWS_CORE_01328]. La fonction est définie dans le fichier d'en-tête #include "ara/core/vector.h", accepte deux itérateurs d'entrée et ne renvoie aucune valeur (void) [SWS_CORE_01328].
Traitement des erreurs et sécurité vis-à-vis des exceptions
La fonction d'affectation est classée comme non sûre vis-à-vis des exceptions (not exception safe) [SWS_CORE_01328]. Si une exception survient pendant le traitement des éléments ou lors d'allocations de mémoire internes nécessaires, le conteneur reste potentiellement dans un état incomplet sans garanties de sécurité définies.
Concurrence et contraintes
Pour des appels concurrents lors de l'utilisation simultanée de la même instance de ara::core::Vector, une synchronisation externe devrait être nécessaire, car la spécification ne garantit pas la sécurité des threads. Question Q-5ada879738b3856d (ouverte) De plus, une condition préalable au déroulement sans erreur est que first et last définissent une plage d'itérateurs valide.
Interaction dans le module core
Outre l'affectation de plage via des itérateurs, ara::core::Vector met à disposition des surcharges avec nombre et valeur de référence [SWS_CORE_01329] ainsi que pour std::initializer_list<T>[SWS_CORE_01330], qui sont également déclarées comme non sûres vis-à-vis des exceptions. Des motifs d'affectation comparables existent également dans le contexte de module de ara::core::BasicString[SWS_CORE_03091].
Cette note d'utilisation a été générée automatiquement et repose exclusivement sur les indications de la spécification R25-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c2495d7f215cProvenanceQuestions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La fonction assign appartient à la classe de conteneur ara::core::Vector et est fournie via le fichier d'en-tête #include "ara/core/vector.h"[SWS_CORE_01329]. Avec la signature void assign (size_type n, const T &u);, elle remplace complètement le contenu actuel du vecteur par n éléments ayant la valeur u. L'appel s'effectue de manière synchrone et ne renvoie aucune valeur (void). Conformément à la spécification, le comportement suit l'utilisation correspondante dans le conteneur standard [vector][SWS_CORE_01329], ce qui désigne probablement la sémantique de std::vector::assign. Question Q-3630162224047ee0 (ouverte)
Gestion des erreurs
En ce qui concerne la robustesse, la fonction est explicitement classée comme not exception safe[SWS_CORE_01329]. Aucun code d'erreur, classe d'erreur ou message vers DET ou DEM spécifique à AUTOSAR n'est défini. Si une exception se produit pendant l'allocation de mémoire ou lors de l'assignation des éléments, la fonction n'offre probablement aucune garantie quant à la restauration de l'état initial de l'objet. Question Q-f4eb9afa74847bf7 (ouverte)
Concurrence et restrictions
Comme assign modifie l’état et potentiellement la capacité de l’instance de conteneur, l’appel n’est pas réentrant sur la même instance. En l’absence d’engagements spécifiques relatifs à la sécurité des threads dans la spécification, un accès simultané en lecture ou en écriture au même objet Vector sans synchronisation externe ne devrait pas être thread-safe. Question Q-1df95afd2340ec57 (ouverte)
Interaction
Avec d’autres surcharges de la classe ara::core::Vector, la fonction constitue l’interface de réassignation du contenu du vecteur :
Assignation basée sur les itérateurs sur une plage assign(InputIterator first, InputIterator last) conformément à [SWS_CORE_01328].
Assignation via une liste d’initialisation assign(std::initializer_list<T>) conformément à [SWS_CORE_01330].
Les deux surcharges alternatives partagent avec [SWS_CORE_01329] la propriété d’être spécifiées comme not exception safe.
Ce texte a été généré par une IA et sert de guide d’orientation. Seules les spécifications des documents AUTOSAR font foi.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a53aaf2941a9ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre assign de la classe ara::core::Vector remplace de manière synchrone l’intégralité du contenu antérieur d’une instance de vecteur par les éléments de la liste d’initialisation std::initializer_list<T> fournie ([SWS_CORE_01330]). Le comportement fonctionnel suit l’utilisation correspondante du conteneur standard dans [vector] ([SWS_CORE_01330]). La fonction n’a pas de valeur de retour (void) et est déclarée via l’en-tête ara/core/vector.h ([SWS_CORE_01330]).
Pour la gestion des erreurs, il est défini que la méthode est classée comme not exception safe ([SWS_CORE_01330]). Interprétation : si une exception survient pendant l’allocation de mémoire ou lors de la copie ou du déplacement des éléments, l’implémentation n’offre probablement pas de sécurité forte vis-à-vis des exceptions ; le vecteur devrait demeurer dans un état modifié ou incomplet. Question Q-ac196ecfba85d821 (ouverte)
En combinaison avec d’autres interfaces de ara::core::Vector, la fonction complète des surcharges d’assignation alternatives telles que l’initialisation via des plages d’itérateurs ([SWS_CORE_01328]) et l’assignation répétée d’une valeur unique ([SWS_CORE_01329]). Toutes ces variantes de assign partagent la propriété de ne pas être sûres au regard des exceptions. Une sémantique d’assignation comparable au moyen de std::initializer_list se trouve également au sein de la bibliothèque centrale pour ara::core::BasicString ([SWS_CORE_03092]).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.
As per corresponding usage in [vector] except for the following deviations: 1. if (n >= size()) IsoStdOutOfRangeViolation is raised instead of std:: out_of_range
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 7e8643f8168aProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation et sémantique
La fonction membre at fournit un accès synchrone en lecture à un élément du conteneur ara::core::Vector à l'indice spécifié n et renvoie une const_reference sur l'élément [SWS_CORE_01354]. La déclaration est disponible via l'en-tête ara/core/vector.h[SWS_CORE_01354]. La sémantique correspond à la fonction standard std::vector::at issue du standard C++, mais diffère sur le traitement des erreurs [SWS_CORE_01354].
Gestion des erreurs et conditions limites
Si un indice atteignant ou dépassant la taille du conteneur est demandé (n >= size()), une IsoStdOutOfRangeViolation est déclenchée au lieu de l'exception standard std::out_of_range[SWS_CORE_01354]. La fonction est déclarée comme not exception safe[SWS_CORE_01354]. Interprétation : aucune exception C++ n'étant levée, le déclenchement de la violation devrait probablement conduire à une interruption du flux du programme, pouvant potentiellement interagir avec des mécanismes de traitement tels que AddAbortHandler[SWS_CORE_00054]. Question Q-2182d648ff4a28b8 (ouverte)
Interaction au sein du module
Pour les accès modificateurs, la surcharge non constante avec le retour reference est disponible, qui suit le même chemin d'erreur [SWS_CORE_01355]. Le comportement divergent identique avec IsoStdOutOfRangeViolation se retrouve également dans d'autres types de données du Core tels que ara::core::Array[SWS_CORE_01273][SWS_CORE_01274] et ara::core::BasicString[SWS_CORE_03063].
Cette note d'utilisation a été générée automatiquement à partir de la spécification AUTOSAR R25-11.
As per corresponding usage in [vector] 1. if (n >= size()) IsoStdOutOfRangeViolation is raised instead of std:: out_of_range
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : dee504db9fffProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre at de la classe ara::core::Vector ([SWS_CORE_01355]), fournie via l'en-tête #include "ara/core/vector.h", permet l'accès indexé en lecture et en écriture aux différents éléments d'un vecteur. La fonction accepte un indice de position n de type size_type et renvoie une référence modifiable (reference) sur l'élément à la position indiquée. La sémantique suit l'implémentation correspondante dans [vector]. Interprétation : comme l'interface est déclarée de manière synchrone selon le standard C++, l'exécution devrait s'effectuer de manière bloquante directement dans le contexte du thread appelant. Question Q-81f43622c244ce91 (ouverte)
À la différence du vecteur standard ISO C++, la fonction déclenche, en cas de dépassement d'indice (n >= size()), la violation IsoStdOutOfRangeViolation au lieu de l'exception standard std::out_of_range ([SWS_CORE_01355]). Dans la spécification, la fonction est classée comme non sûre vis-à-vis des exceptions (not exception safe) ([SWS_CORE_01355]). Interprétation : comme aucun mécanisme de synchronisation n'est spécifié pour cet accès au vecteur, un accès concurrent non protégé à la même instance ne devrait pas être thread-safe. Question Q-e65ae0c574610719 (ouverte)
Pour l'accès constant en lecture seule, la surcharge const_reference at(size_type n) const est disponible, laquelle signale également IsoStdOutOfRangeViolation et est considérée comme non sûre vis-à-vis des exceptions ([SWS_CORE_01354]). Des conteneurs et types associés de la bibliothèque principale utilisent également la même sémantique de violation en cas d'accès erroné, parmi lesquels ara::core::Array ([SWS_CORE_01273], [SWS_CORE_01274]), ara::core::Map ([SWS_CORE_01456], [SWS_CORE_01457]), ara::core::StringView ([SWS_CORE_02133]) ainsi que ara::core::BasicString ([SWS_CORE_03063], [SWS_CORE_03064]).
Ce texte a été généré par une IA et sert de guide d'orientation. Seules les spécifications de la documentation AUTOSAR font foi.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : de070e9c410aProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation et sémantique
La méthode clear() de la classe ara::core::Vector sert à vider entièrement le vecteur conformément à [SWS_CORE_01375]. La fonction est déclarée dans l'en-tête ara/core/vector.h, peut être appelée de manière synchrone, ne prend aucun paramètre et ne renvoie aucune valeur (void). Sa sémantique fonctionnelle s'aligne sur la spécification correspondante pour [vector]. Interprétation : cela devrait signifier que tous les éléments présents dans le vecteur sont détruits et que le nombre d'éléments tombe à 0, tandis que la capacité mémoire allouée devrait rester inchangée. Question Q-ecde315e61455c32 (ouverte)
Gestion des erreurs et sécurité vis-à-vis des exceptions
L'appel est caractérisé par noexcept ainsi que classé comme sûr vis-à-vis des exceptions (exception safe) conformément à [SWS_CORE_01375]. Comme la méthode ne lève assurément aucune exception, aucun code d'erreur spécifique n'existe et aucun message d'erreur DET ou DEM n'est émis en cas d'erreur.
Interaction avec les conteneurs apparentés
Le concept d'une fonction clear() sûre vis-à-vis des exceptions est étendu de manière cohérente à d'autres structures de données dans ara::core. Ainsi, ara::core::Map fournit dans l'en-tête ara/core/map.h une méthode clear() identique conformément à [map][SWS_CORE_01485]. De même, ara::core::BasicString propose dans l'en-tête ara/core/string.h une opération clear() équivalente conformément à [basic.string][SWS_CORE_03057].
Cette note d'utilisation a été générée automatiquement et repose exclusivement sur les spécifications du payload transmis.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f17de2d5c630ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre crbegin de ara::core::Vector fournit, conformément à [SWS_CORE_01342], un itérateur inverse constant (const_reverse_iterator) sur le dernier élément de la séquence. L’appel s’effectue de manière synchrone et sans paramètre via l’en-tête ara/core/vector.h. Le comportement correspond à la spécification de la bibliothèque standard C++ sous-jacente pour [vector]. Pour un conteneur vide, l’itérateur renvoyé devrait correspondre à la valeur de crend() (interprétation basée sur [vector]). Question Q-a2badba87f86486c (ouverte)
En ce qui concerne le traitement des erreurs, l’interface est pourvue de l’identifiant noexcept et déclarée sûre vis-à-vis des exceptions (exception safe) ([SWS_CORE_01342]). Les appels ne lèvent aucune exception et ne signalent aucune erreur aux surveillances d’exécution ou de diagnostic.
Concernant la concurrence et les restrictions, la méthode est qualifiée de const. L’accès simultané en lecture à la même instance à partir de plusieurs threads devrait être réentrant et sûr pour les threads tant qu’aucune opération d’écriture concurrente n’est exécutée sur le vecteur (interprétation analogue au modèle de conteneur C++). Question Q-094ba5878c1adc74 (ouverte)
Dans le module core, le concept d’itération inverse constante est implémenté de manière cohérente sur divers types. Des interfaces similaires se trouvent pour ara::core::Array ([SWS_CORE_01260]), ara::core::Map ([SWS_CORE_01450]), ara::core::Span ([SWS_CORE_01978]), ara::core::StringView ([SWS_CORE_02126]) ainsi que ara::core::BasicString ([SWS_CORE_03049]).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b6ed373b1e91Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre crend de la classe ara::core::Vector fournit un itérateur inverse constant qui pointe vers l’élément théorique précédant le premier élément du vecteur [SWS_CORE_01343]. La sémantique suit l’utilisation correspondante dans le standard C++ pour std::vector (« As per corresponding usage in [vector] ») [SWS_CORE_01343].
Utilisation et comportement
Contexte d’appel et paramètres : la méthode est sans paramètre et déclarée comme const, de sorte qu’elle peut être appelée de manière synchrone sur des instances constantes comme non constantes de ara::core::Vector[SWS_CORE_01343].
Valeur de retour : un const_reverse_iterator est renvoyé, marquant la fin logique d’une itération vers l’arrière [SWS_CORE_01343].
Gestion des erreurs et sécurité vis-à-vis des exceptions
La fonction est spécifiée avec noexcept et est considérée comme sûre vis-à-vis des exceptions (« exception safe ») selon la spécification [SWS_CORE_01343]. Aucun code d’erreur spécifique n’est renvoyé et aucune exception ne se produit.
Interaction avec les conteneurs apparentés
Le concept d’un itérateur inverse constant vers le point final d’une itération inverse est fourni de manière uniforme dans l’ensemble des conteneurs de ara::core. Des interfaces similaires présentant un traitement des exceptions identique (noexcept) existent notamment pour ara::core::Array[SWS_CORE_01261], ara::core::Map[SWS_CORE_01451], ara::core::Span[SWS_CORE_01979], ara::core::StringView[SWS_CORE_02127] ainsi que ara::core::BasicString[SWS_CORE_03050].
Cette note d’utilisation a été créée par une IA et s’appuie sur les exigences de spécification de la version R25-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : bec6ec9ae706ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction emplace insère un élément directement à la position spécifiée dans un ara::core::Vector en transférant les arguments transmis [SWS_CORE_01366]. La déclaration se trouve dans l'en-tête #include "ara/core/vector.h" et suit l'utilisation correspondante dans [vector][SWS_CORE_01366].
Utilisation
L'appel de emplace s'effectue de manière synchrone et prend comme paramètres un itérateur de position position de type const_iterator ainsi qu'un paquet de paramètres args de type Args&&...[SWS_CORE_01366]. Comme valeur de retour, la fonction fournit un iterator sur l'élément nouvellement construit [SWS_CORE_01366].
Gestion des erreurs et concurrence
Pour emplace dans ara::core::Vector, la sécurité face aux exceptions est explicitement spécifiée comme not exception safe[SWS_CORE_01366]. Aucun code d'erreur spécifique, message DET ou DEM n'est défini dans le standard. Interprétation : en l'absence de mécanismes de synchronisation internes, l'appel concurrent de emplace sur la même instance ne devrait pas être sûr pour les threads sans protection externe. Question Q-d72278df37e86c8a (ouverte)
Interaction
Au sein de ara::core, la sécurité face aux exceptions pour emplace varie selon le type :
Dans ara::core::Map, emplace est également défini comme not exception safe, mais renvoie std::pair<iterator, bool>[SWS_CORE_01458].
Dans ara::core::Optional, les variantes sont conditionnellement sûres face aux exceptions ([SWS_CORE_01119], [SWS_CORE_01120]) ou, pour les références, totalement sûres face aux exceptions [SWS_CORE_01164].
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ee506cbddbcfProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La méthode template emplace_back de la classe ara::core::Vector sert, conformément à [SWS_CORE_01362], à construire un nouvel élément directement à la fin du vecteur. Les paramètres de transmission Args&&... args sont alors directement transmis au constructeur du type d'élément selon la sémantique de [vector]. En tant que valeur de retour, la fonction renvoie une référence (reference) vers l'élément nouvellement créé. Pour l'utilisation, l'en-tête #include "ara/core/vector.h" doit être inclus [SWS_CORE_01362].
Gestion des erreurs et sécurité vis-à-vis des exceptions
En ce qui concerne la sécurité vis-à-vis des exceptions, l'opération est explicitement déclarée dans [SWS_CORE_01362] comme not exception safe. Aucun code d'erreur spécifique, aucune valeur de repli ni aucun message adressé à des services d'erreur tels que DET ou DEM ne sont définis dans la spécification.
Restrictions et comportement
En raison de la propriété not exception safe et de l'orientation d'après [vector], aucune garantie ne devrait exister en cas d'erreur, par exemple lors d'une allocation de mémoire ou d'une construction infructueuse, quant à la préservation de l'état antérieur du conteneur (interprétation). Question Q-ca44b2f27d8ae1c8 (ouverte) Les appelants doivent donc s'assurer d'éviter au préalable les conditions d'erreur potentielles.
Ce texte a été généré par une IA et sert de guide d'orientation.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 64de7076f3b2ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction erase de la classe ara::core::Vector sert, conformément à [SWS_CORE_01372], à supprimer de manière synchrone un élément individuel à l’emplacement désigné par le paramètre position (const_iterator). Comme valeur de retour, elle fournit un iterator sur l’élément suivant ou sur la fin du conteneur si l’élément supprimé se trouvait en dernière position, conformément à la sémantique référencée dans [vector]. La fonction est déclarée dans le fichier d’en-tête #include "ara/core/vector.h".
En ce qui concerne le traitement des erreurs, l’opération est expressément indiquée dans la spécification comme non sûre vis-à-vis des exceptions (« not exception safe ») [SWS_CORE_01372]. Aucun retour d’erreur spécifique, message DET ou DEM n’est défini ; des itérateurs invalides ou non déréférençables devraient donc conduire à un comportement indéfini. Question Q-efa4c40e48a6f98d (ouverte) En raison du déplacement des éléments dans le vecteur, il convient de supposer, en tant qu’interprétation :, que les itérateurs et références suivants deviennent invalides, conformément à la sémantique standard de [vector].
Dans l’interaction au sein de ara::core::Vector, il existe en plus de la suppression à une position individuelle la surcharge erase(first, last) pour des plages entières conformément à [SWS_CORE_01373]. Des interfaces analogues pour la suppression d’entrées se trouvent dans d’autres conteneurs de la bibliothèque Adaptive Core : ara::core::Map fournit des surcharges basées sur la position et sur les clés ([SWS_CORE_01480], [SWS_CORE_01481], [SWS_CORE_01482], [SWS_CORE_01483]), tandis que ara::core::BasicString comprend des variantes basées sur les indices et les itérateurs ([SWS_CORE_03102], [SWS_CORE_03103], [SWS_CORE_03104]).
Cette note d’utilisation a été générée automatiquement et repose sur les exigences de la spécification.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 494dc0882ae6ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre erase de la classe ara::core::Vector sert à supprimer une plage d’éléments du vecteur conformément à la spécification [SWS_CORE_01373]. La déclaration est disponible via l’en-tête ara/core/vector.h. La sémantique suit l’utilisation correspondante dans le vecteur standard (« As per corresponding usage in [vector] »). Deux itérateurs first et last délimitant la plage à supprimer sont passés en paramètres ; un iterator sur l’élément suivant est renvoyé.
En ce qui concerne le traitement des erreurs et la sécurité vis-à-vis des exceptions, l’opération est explicitement classifiée comme « not exception safe » dans la spécification [SWS_CORE_01373]. Contrairement à d’autres opérations de conteneur, aucun code d’erreur spécifique ni violation d’erreur (violations) n’est défini pour cette fonction. Si une erreur survient lors de l’exécution, cela laisse probablement le conteneur dans un état incohérent. Question (ouverte)
Concernant la concurrence et les restrictions, la spécification est silencieuse ; les opérations modifiant ara::core::Vector ne devraient toutefois pas être réentrantes et requièrent vraisemblablement une protection externe en mode multi-thread. Question Q-07fc291a523a82f1 (ouverte)
Dans l’interaction avec d’autres interfaces du module Core, cette fonction complète la surcharge de suppression d’un élément individuel à une position donnée au moyen de iterator erase(const_iterator position)[SWS_CORE_01372]. Des suppressions de plage correspondantes selon le même schéma sont également définies pour les conteneurs associatifs tels que ara::core::Map via [SWS_CORE_01483] ainsi que les chaînes de caractères dans ara::core::BasicString via [SWS_CORE_03104].
Cette note d’utilisation a été générée par une IA sur la base d’AUTOSAR R25-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a3ba159fb66fProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La fonction membre insert de la classe ara::core::Vector sert à insérer de manière synchrone un élément à une position donnée [SWS_CORE_01367]. Elle est définie dans l'en-tête #include "ara/core/vector.h"[SWS_CORE_01367]. La fonction prend comme paramètres un itérateur position de type const_iterator marquant la position cible, ainsi qu'une référence constante x vers l'objet à insérer de type const T &[SWS_CORE_01367]. La valeur de retour est un iterator qui pointe vers l'élément nouvellement inséré [SWS_CORE_01367]. Le comportement fonctionnel suit ici l'utilisation dans le vecteur standard (« As per corresponding usage in [vector] ») [SWS_CORE_01367].
Traitement des erreurs et restrictions
La spécification classe expressément la fonction comme non sûre vis-à-vis des exceptions (« not exception safe ») [SWS_CORE_01367]. Aucun code d'erreur spécifique, aucune valeur de retour pour les cas d'erreur ni aucun message à DET ou DEM n'est défini. Interprétation : en cas d'échec d'une allocation de mémoire interne ou de la copie de l'élément, aucune garantie ne devrait exister quant à la préservation de l'état du conteneur ou à la validité des itérateurs. Question Q-d2b5552bb124d16e (ouverte)
Interaction
Au sein de ara::core::Vector, il existe plusieurs surcharges de insert qui permettent des opérations d'insertion alternatives :
Insertion d'un élément via une référence rvalue T &&x[SWS_CORE_01368],
Insertion d'un nombre déterminé d'éléments identiques avec size_type n, const T &x[SWS_CORE_01369],
Insertion d'une séquence sur une plage d'itérateurs [first, last)[SWS_CORE_01370],
Insertion via une liste d'initialisation std::initializer_list<T>[SWS_CORE_01371].
Des méthodes insert analogues sont également définies dans le module core par des conteneurs associatifs tels que ara::core::Map[SWS_CORE_01460] ainsi que par des classes de chaînes de caractères telles que ara::core::BasicString[SWS_CORE_03093].
Cette note d'utilisation a été générée automatiquement. Elle repose exclusivement sur les spécifications de la version AUTOSAR R25-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 60fc9467623bProvenanceQuestions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La méthode insert selon [SWS_CORE_01368] est définie dans l'en-tête #include "ara/core/vector.h" en tant que fonction membre de la classe ara::core::Vector. Elle sert à l'insertion synchrone d'un élément via une référence rvalue (T&& x) à la position précédant l'itérateur position. Conformément au renvoi à [vector], la fonction devrait transférer le contenu de x dans le vecteur par sémantique de déplacement et renvoyer un iterator sur l'élément nouvellement inséré. Question Q-97f2551da8fd303f (ouverte)
Traitement des erreurs et restrictions
La spécification classe la fonction dans [SWS_CORE_01368] comme not exception safe. Aucun code d'erreur spécifique, valeur de retour pour l'indication d'erreur ou message adressé à DET ou DEM n'est défini. Interprétation : si une allocation de mémoire interne ou le déplacement des éléments échoue, aucune sécurité face aux exceptions ne devrait être garantie, ce qui peut laisser le conteneur dans un état incohérent ou conduire à un arrêt. Question Q-297ef8ff6f6eb76b (ouverte) De plus, il n'existe probablement aucune protection interne contre la concurrence, raison pour laquelle les accès simultanés doivent être synchronisés de manière externe.
Interaction
La variante rvalue [SWS_CORE_01368] forme une interface cohérente avec d'autres surcharges insert de ara::core::Vector :
[SWS_CORE_01367] : insertion par copie d'une valeur au moyen d'une référence lvalue (const T& x).
[SWS_CORE_01369] : insertion de n copies d'une valeur (size_type n, const T& x).
[SWS_CORE_01370] : insertion d'une séquence sur une plage d'itérateurs (InputIterator first, InputIterator last).
[SWS_CORE_01371] : insertion d'une liste au moyen de std::initializer_list<T>.
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 7edeb5bda5f6ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre insert issue de [SWS_CORE_01369] appartient à la classe ara::core::Vector et est fournie via le fichier d'en-tête #include "ara/core/vector.h". Cette opération synchrone sert à insérer plusieurs éléments identiques. Interprétation : conformément à la référence spécifiée « As per corresponding usage in [vector] », l'appel devrait insérer exactement n copies de la valeur transmise x immédiatement avant la position d'itérateur position dans le vecteur et renvoyer un iterator pointant vers le premier élément nouvellement inséré. Question Q-c92add148c490868 (ouverte)
Concernant le traitement des erreurs et la robustesse, la fonction est expressément classée comme « not exception safe » dans [SWS_CORE_01369]. Aucun code d'erreur AUTOSAR spécifique ni notification destinée au DET ou au DEM n'est prévu pour cet appel de méthode.
La spécification ne contient aucune garantie particulière relative aux conditions de concurrence et d'appel. La modification du conteneur nécessite vraisemblablement une synchronisation externe, comme pour les vecteurs standard, étant donné que les accès concurrents en écriture ou en lecture ne devraient pas être sûrs au niveau des threads. Question (ouverte)
Au sein de ara::core::Vector, il existe en plus de cette surcharge pour des valeurs répétées d'autres variantes de insert :
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1d6a2d4c594cProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre modèle insert du conteneur séquentiel ara::core::Vector ([SWS_CORE_01370]) issue de l'en-tête #include "ara/core/vector.h" insère une séquence d'éléments de manière synchrone dans le vecteur. La plage à insérer est définie au moyen des itérateurs d'entrée first et last et est placée immédiatement avant l'emplacement désigné par position (type const_iterator). Comme valeur de retour, la fonction fournit un iterator qui pointe vers le premier élément inséré. La sémantique métier est décrite dans la spécification par « As per corresponding usage in [vector] » ([SWS_CORE_01370]) ; interprétation : cela devrait correspondre au comportement standardisé d'insertion de plage de std::vector. Question Q-c6cd06fb1964ead6 (ouverte)
Concernant le traitement des erreurs et la robustesse, la fonction est explicitement spécifiée comme not exception safe ([SWS_CORE_01370]). Aucun code d'erreur particulier, exception ou notification destinée aux moniteurs d'erreurs et de diagnostic (tels que le DET ou le DEM) n'est prévu dans le périmètre de la spécification.
Dans le cadre de l'interface de ara::core::Vector, cette surcharge par plage complète les autres méthodes d'insertion :
l'insertion d'un nombre déterminé de valeurs identiques ([SWS_CORE_01369]),
ainsi que l'insertion à partir d'une liste d'initialisation via std::initializer_list ([SWS_CORE_01371]).
Toutes les surcharges mentionnées au sein du vecteur partagent la restriction de ne pas être sûres vis-à-vis des exceptions ([SWS_CORE_01367], [SWS_CORE_01371]).
Ce texte a été généré par un système d'IA sur la base de la spécification AUTOSAR.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 87bda45bd96fProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre synchrone insert de la classe ara::core::Vector insère les éléments d'une liste d'initialisation à une position prédéfinie dans le conteneur [SWS_CORE_01371]. Elle est déclarée dans le fichier d'en-tête ara/core/vector.h[SWS_CORE_01371]. En guise de paramètres, la fonction attend un itérateur position de type const_iterator, qui marque l'emplacement d'insertion, ainsi que il de type std::initializer_list<T>[SWS_CORE_01371]. La valeur de retour est un iterator vers le premier élément inséré ou vers position si la liste est vide [SWS_CORE_01371].
Concernant la gestion des erreurs et la robustesse, la spécification classe explicitement cette opération comme « not exception safe » [SWS_CORE_01371]. Aucun code d'erreur ni message d'erreur AUTOSAR spécifique (DET/DEM) n'est prévu. Interprétation : du fait de la référence « As per corresponding usage in [vector] », le comportement à l'exécution, y compris d'éventuelles réallocations et l'invalidation d'itérateurs existants qui en découle, devrait correspondre à la sémantique de std::vector::insert[SWS_CORE_01371]. Question Q-67ac8e3de4d4ce7a (ouverte) Aucun mécanisme de synchronisation particulier pour les accès concurrents n'est spécifié.
Dans le module core, la fonction se situe dans le contexte d'autres opérations d'insertion de ara::core::Vector :
As per corresponding usage in [vector] except for the following deviations: 1. Function is conditionally noexcept Implementation {<may-throw-on-allocate>} shall be an implementation-defined type
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : deefee9625deProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation et sémantique
La fonction membre pop_back du conteneur ara::core::Vector sert à supprimer de manière synchrone le dernier élément [SWS_CORE_01365]. La fonction est déclarée dans le fichier d'en-tête ara/core/vector.h et possède la signature void pop_back ()[SWS_CORE_01365]. AUTOSAR renvoie explicitement, pour le comportement fonctionnel, à l'utilisation correspondante dans [vector], de sorte qu'aucun paramètre n'est transmis et qu'aucune valeur de retour n'existe [SWS_CORE_01365].
Gestion des erreurs et sécurité vis-à-vis des exceptions
Concernant le traitement des erreurs, la spécification mentionne la propriété not exception safe[SWS_CORE_01365]. Comme aucun code d'erreur spécifique, valeur de retour ou mécanisme de vérification n'est défini dans le payload, il n'existe aucun traitement des erreurs intégré en cas d'appels non autorisés [SWS_CORE_01365]. Interprétation : avant l'appel, l'appelant doit s'assurer que le vecteur n'est pas vide ; un appel sur une instance vide devrait conduire à un comportement indéfini, de manière analogue à [vector]. Question Q-add313a489db4726 (ouverte)
Interaction et exigences associées
Un modèle correspondant se trouve dans la classe ara::core::BasicString de ara/core/string.h, dont la fonction pop_back supprime le dernier caractère conformément à [basic.string] et est également spécifiée comme not exception safe[SWS_CORE_03105]. Les deux définitions unifient la modification de structures de données séquentielles dans le module core[SWS_CORE_01365], [SWS_CORE_03105].
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.
As per corresponding usage in [vector] except for the following deviations: 1. Function is conditionally noexcept: (see [vector.modifiers])
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a852a13f9301ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La fonction membre push_back dans la portée de ara::core::Vector insère un élément transmis par copie à la fin du conteneur [SWS_CORE_01363]. Elle est définie via l'en-tête #include "ara/core/vector.h", accepte une référence vers une valeur constante const T &x et n'a pas de valeur de retour (void) [SWS_CORE_01363]. L'appel s'effectue de manière synchrone dans le contexte de l'appelant.
Traitement des erreurs et sécurité vis-à-vis des exceptions
La spécification s'écarte de [vector] en ce que la fonction est déclarée comme étant conditionnellement noexcept : sa garantie de non-levée s'applique si et seulement si std::is_nothrow_copy_assignable<T>::value est vérifié [SWS_CORE_01363]. La sécurité des exceptions est ainsi définie comme « conditionally exception safe » [SWS_CORE_01363]. Aucun code d'erreur spécifique ni message d'erreur via DET ou DEM n'est défini pour cette fonction.
Interaction et exigences associées
Pour les objets déplaçables, ara::core::Vector fournit la surcharge void push_back(T &&x), dont la propriété noexcept est couplée de manière analogue à std::is_nothrow_move_assignable<T>::value[SWS_CORE_01364]. En revanche, push_back dans ara::core::BasicString ne possède aucune garantie noexcept et est classée comme « not exception safe » [SWS_CORE_03083].
Interprétation : le comportement interne d'allocation de mémoire et de réallocation lors de l'insertion devrait s'orienter, en dehors de la déclaration noexcept spécifique, vers les prescriptions de la norme C++ pour [vector]. Question Q-202fb07b334cde64 (ouverte)
Cette note d'utilisation est basée sur la spécification d'AUTOSAR Adaptive de la version R25-11.
As per corresponding usage in [vector] except for the following deviations: 1. Function is conditionally noexcept: (see [vector.modifiers])
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0ab7b8ba5428ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre push_back de ara::core::Vector sert à ajouter de manière synchrone un élément à la fin du vecteur en utilisant la sémantique de déplacement ([SWS_CORE_01364]). Elle est mise à disposition via l'en-tête #include "ara/core/vector.h", accepte une référence rvalue T &&x et n'a pas de valeur de retour (void) ([SWS_CORE_01364]).
En matière de traitement des erreurs et de comportement face aux exceptions, les propriétés suivantes s'appliquent :
La méthode est classée comme conditionnellement sûre au regard des exceptions (conditionally exception safe) ([SWS_CORE_01364]).
La garantie noexcept est liée au type : noexcept(std::is_nothrow_move_assignable<T>::value) ([SWS_CORE_01364]). Si l'opérateur d'assignation par déplacement de T n'est pas déclaré sans exception, des exceptions devraient survenir lors des allocations de mémoire ou des déplacements d'éléments. Question Q-3b8b58d0b218fe21 (ouverte)
Le fonctionnement suit la sémantique habituelle de [vector], mais s'en écarte par la déclaration noexcept conditionnelle ([SWS_CORE_01364]). Comme l'opération modifie le conteneur, des accès simultanés à la même instance sans synchronisation externe ne devraient pas être sûrs pour les threads. Question (ouverte)
Dans l'interaction entre les interfaces, cette variante par déplacement complète la surcharge par copie push_back(const T &x) ([SWS_CORE_01363]), laquelle est couplée de manière analogue à is_nothrow_copy_assignable. Il convient de la distinguer de la fonction membre de même nom dans ara::core::BasicString ([SWS_CORE_03083]), qui ajoute des caractères individuels et est définie comme non sûre au regard des exceptions.
Cette note d'utilisation a été générée automatiquement et repose sur les exigences de la spécification.
As per corresponding usage in [vector] except for the following deviations: 1. if (n < max_size()) IsoStdLengthErrorViolation is raised instead of std:: length_error
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1fc59f941a26ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre reserve de la classe ara::core::Vector sert, conformément à [SWS_CORE_01347], à la réservation de mémoire pour des instances de vecteur. Elle est appelée de manière synchrone et est mise à disposition via le fichier d'en-tête ara/core/vector.h. La fonction accepte le paramètre n de type size_type et n'a pas de valeur de retour. Le comportement fondamental correspond à la sémantique habituelle de std::vector::reserve de la norme ISO C++.
Traitement des erreurs et violations
Par dérogation à la norme ISO C++, aucune exception de type std::length_error n'est levée en cas d'erreur, mais une IsoStdLengthErrorViolation est déclenchée [SWS_CORE_01347]. La spécification cite pour cela la condition n < max_size(), ce qui fait vraisemblablement référence à un dépassement de la capacité maximale. Question Q-8d4dbf516b7b87b7 (ouverte) De plus, l'opération est expressément déclarée comme non sûre au regard des exceptions (not exception safe) selon la spécification [SWS_CORE_01347].
Interaction et conditions aux limites
Le déclenchement de IsoStdLengthErrorViolation correspond au concept d'erreur unifié de ara::core et se retrouve de manière analogue pour ara::core::BasicString::reserve conformément à [SWS_CORE_03054]. Étant donné qu'un appel de reserve peut déclencher des réallocations internes, la fonction n'est pas sûre pour les threads en cas d'accès concurrent à la même instance et nécessite une synchronisation externe.
Cette note d'utilisation a été générée par un système d'IA sur la base de la spécification AUTOSAR R25-11.
As per corresponding usage in [vector] except for the following deviations: 1. if (sz > max_size()) IsoStdLengthErrorViolation is raised instead of std:: length_error
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e1f4cdbd6da3ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre resize ajuste de manière synchrone le nombre d’éléments contenus dans le conteneur à la taille cible sz souhaitée ([SWS_CORE_01350]). Elle appartient à la classe ara::core::Vector et est intégrée via le fichier d’en-tête #include "ara/core/vector.h" ([SWS_CORE_01350]). Le comportement fonctionnel s’oriente d’après la spécification ISO-C++ de std::vector : si le conteneur rétrécit, les éléments excédentaires sont détruits ; s’il s’agrandit, des éléments supplémentaires sont générés par initialisation par valeur.
En cas d’erreur, la fonction s’écarte délibérément du comportement de la bibliothèque standard : si la taille requise sz est supérieure à max_size(), une IsoStdLengthErrorViolation est levée au lieu de std::length_error ([SWS_CORE_01350]). La spécification désigne la fonction comme non sûre au regard des exceptions (not exception safe) ([SWS_CORE_01350]). Les appelants doivent par conséquent s’assurer du respect des limites de capacité afin d’éviter toute violation au moment de l’exécution.
Concernant la concurrence, la méthode n’est pas réentrante pour la même instance : des appels parallèles modificateurs sur le même objet devraient conduire à une corruption de données en l’absence de synchronisation externe (interprétation : règles de sécurité des threads analogues à celles des conteneurs ISO-C++). Question Q-1283cb9616fde934 (ouverte) Si les éléments nouvellement ajoutés ne doivent pas être initialisés par défaut, mais remplis avec une copie d’une valeur prédéfinie, il convient de choisir la variante surchargée avec le paramètre const T& ([SWS_CORE_01351]). La classe ara::core::BasicString met à disposition une paire d’interfaces analogue correspondante avec une gestion d’erreur identique lors des dépassements de valeur limite ([SWS_CORE_03058], [SWS_CORE_03059]).
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R25-11.
As per corresponding usage in [vector] except for the following deviations: 1. if (sz > max_size()) IsoStdLengthErrorViolation is raised instead of std:: length_error
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2eadecd4d26fProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La fonction membre resize de la classe ara::core::Vector ([SWS_CORE_01351]) issue du fichier d’en-tête #include "ara/core/vector.h" modifie le nombre d’éléments dans le conteneur pour atteindre la taille cible sz prédéfinie. En cas d’agrandissement, la fonction initialise les éléments nouvellement ajoutés avec des copies de la valeur c transmise ([SWS_CORE_01351]). L’appel est traité de manière synchrone et ne possède pas de valeur de retour (void).
Gestion des erreurs et sécurité vis-à-vis des exceptions
Le comportement correspond largement au conteneur standard std::vector, mais s’en écarte délibérément en cas d’erreur : si le paramètre sz dépasse la valeur maximale max_size(), une IsoStdLengthErrorViolation est levée au lieu de l’exception standard std::length_error ([SWS_CORE_01351]). La spécification qualifie explicitement la fonction de not exception safe ([SWS_CORE_01351]). Si des erreurs surviennent pendant l’allocation ou lors de la copie de c, aucune garantie n’existe quant à la restauration de l’état initial de l’objet.
Restrictions et interaction
En raison de l’absence de sécurité vis-à-vis des exceptions, un échec devrait conduire à un conteneur incohérent, raison pour laquelle les appelants devraient vérifier au préalable si une capacité suffisante est disponible. Question Q-9701a24a177cbb21 (ouverte) Si les nouveaux éléments doivent plutôt être construits par défaut, la surcharge resize(size_type sz) sans valeur d’initialisation est prévue ([SWS_CORE_01350]). Le comportement d’erreur identique avec déclenchement de IsoStdLengthErrorViolation et classification comme non sûre au regard des exceptions se retrouve de façon analogue pour ara::core::BasicString ([SWS_CORE_03058], [SWS_CORE_03059]).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 57a8d094a016ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre shrink_to_fit() de la classe ara::core::Vector sert, conformément à [SWS_CORE_01349], à réduire la capacité de mémoire au niveau requis pour les éléments actuels selon la spécification [vector]. La fonction est déclarée via le fichier d'en-tête #include "ara/core/vector.h", n'accepte aucun paramètre et ne renvoie aucune valeur de retour (void) [SWS_CORE_01349]. L'appel s'effectue de manière synchrone sur l'instance.
Concernant le comportement en cas d'erreur, aucun code d'erreur ni aucun message d'erreur (DET/DEM) n'est défini. La fonction est explicitement classée dans la spécification comme not exception safe[SWS_CORE_01349]. Interprétation : si la réallocation interne de la mémoire échoue, il n'existe probablement aucune garantie quant à la préservation de l'état antérieur du conteneur. Question Q-b4b5bef83f265ceb (ouverte)
Pour la concurrence et le contexte d'appel, les restrictions des structures de données séquentielles s'appliquent : les appels concurrents sur la même instance ne devraient pas être réentrants ni thread-safe sans synchronisation externe. Question (ouverte) Aucun accès parallèle en lecture ou en écriture au vecteur ne doit avoir lieu pendant l'exécution.
Un comportement directement apparenté est défini pour les chaînes de caractères dans [SWS_CORE_03056] : la classe ara::core::BasicString fournit également via #include "ara/core/string.h" une fonction shrink_to_fit() qui s'oriente d'après [basic.string] et est de la même manière classifiée comme not exception safe[SWS_CORE_03056].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand