Динамически управляемый последовательный контейнер памяти с поддержкой полиморфных аллокаторов для адаптивных приложений.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 221750794e81ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Динамически управляемый последовательный контейнер памяти с поддержкой полиморфных аллокаторов для адаптивных приложений.
ara::core::Vector представляет собой последовательный контейнер для AUTOSAR Adaptive Platform, предоставляющий динамические массивы с поддержкой полиморфных аллокаторов [SWS_CORE_01303]. Класс обеспечивает гибкую вставку, управление и произвольный доступ к элементам через итераторы или операторы доступа в непрерывной памяти. Вместо стандартных исключений C++ реализация сигнализирует о нарушениях границ через платформозависимые нарушения (violations), такие как IsoStdOutOfRangeViolation[SWS_CORE_01354]. Ошибочный доступ за пределами определенных предусловий, по всей видимости, приводит к неопределенному поведению. Вопрос Q-656c6bf029de714e (открытый)
Контекст
Класс ara::core::Vector представляет собой реализацию последовательного контейнера AUTOSAR Adaptive Platform, основанную на std::pmr::vector. Он управляет элементами типа value_type[SWS_CORE_01302] в непрерывной области памяти и напрямую взаимодействует с приложением, а также с конфигурируемым аллокатором типа allocator_type[SWS_CORE_01303]. Благодаря интеграции полиморфных аллокаторов класс обеспечивает детерминированное и ресурсосберегающее управление памятью. Базовый аллокатор может быть запрошен через метод get_allocator[SWS_CORE_01331]. Для интеграции со стандартизированными алгоритмами C++ класс предоставляет фундаментальные определения типов, такие как pointer[SWS_CORE_01304], const_pointer[SWS_CORE_01305], reference[SWS_CORE_01306], const_reference[SWS_CORE_01307], size_type[SWS_CORE_01308] и difference_type[SWS_CORE_01309].
Жизненный цикл
Создание экземпляра выполняется через широкий выбор конструкторов:
Конструирование по умолчанию без элементов [SWS_CORE_01318], которое условно является noexcept в зависимости от аллокатора.
Явное задание экземпляра аллокатора [SWS_CORE_01319] как гарантированно безопасная с точки зрения исключений (noexcept) инициализация.
Права владения можно передавать путем копирования или перемещения. Конструктор копирования [SWS_CORE_01314] и оператор присваивания копированием [SWS_CORE_01315] дублируют данные и условно являются noexcept, если тип элементов допускает копирование без исключений; дополнительно доступна перегрузка копирования с аллокатором [SWS_CORE_01323]. Конструктор перемещения [SWS_CORE_01316] и оператор присваивания перемещением [SWS_CORE_01317] обеспечивают ресурсосберегающую передачу владения, гарантия noexcept которой зависит от свойств аллокатора; здесь также существует вариант с присваиванием аллокатора [SWS_CORE_01324]. Для последующего повторного заполнения служат перегрузки методов assign[SWS_CORE_01328][SWS_CORE_01329][SWS_CORE_01330], а также оператор присваивания для списков инициализации [SWS_CORE_01327].
Содержимое двух векторов можно обменять с помощью swap[SWS_CORE_01374]. При вызове clear[SWS_CORE_01375] все содержащиеся элементы уничтожаются, однако зарезервированная емкость сохраняется. В конце жизненного цикла деструктор ~Vector[SWS_CORE_01326] освобождает все ресурсы; он гарантированно объявлен как noexcept.
Путь использования
Типичный сценарий использования включает инстанцирование, предварительное выделение памяти, заполнение и последующий доступ:
Конструирование и резервирование: экземпляр создается, предпочтительно с передачей аллокатора [SWS_CORE_01319]. Если целевой размер известен, можно заранее вызвать reserve[SWS_CORE_01347], чтобы избежать последующих динамических перераспределений памяти.
В отличие от стандартного поведения C++, ara::core::Vector сигнализирует об ошибочных состояниях через платформозависимые нарушения (violations) вместо обычных исключений C++:
Нарушение диапазона: если в at передается индекс n >= size(), вместо std::out_of_range инициируется IsoStdOutOfRangeViolation[SWS_CORE_01354][SWS_CORE_01355].
Ошибка длины: если вызов resize запрашивает размер sz > max_size(), вместо std::length_error инициируется IsoStdLengthErrorViolation[SWS_CORE_01350][SWS_CORE_01351]. Аналогично reserve при недопустимом запросе размера инициирует IsoStdLengthErrorViolation[SWS_CORE_01347].
Непроверяемый доступ: прямой доступ через operator[][SWS_CORE_01352][SWS_CORE_01353] не проверяет границы диапазона. Вызов за пределами допустимого интервала нарушает предусловия и, по всей видимости, приводит к неопределенному поведению. Вопрос (открытый)
except for the following deviations: 1. Function is conditionally noexcept Implementation {<may-throw-on-allocate>} shall be an implementation-defined type ≙ [vector]
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 196b7382f846ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование и контекст вызова
Шаблонная функция-член assign для ara::core::Vector заменяет текущее содержимое вектора элементами диапазона [first, last) в соответствии с аналогичным использованием в std::vector[SWS_CORE_01328]. Функция определена в заголовочном файле #include "ara/core/vector.h", принимает два входных итератора и не возвращает значения (void) [SWS_CORE_01328].
Обработка ошибок и безопасность исключений
Функция присваивания классифицирована как небезопасная относительно исключений (not exception safe) [SWS_CORE_01328]. Если во время обработки элементов или при необходимых внутренних выделениях памяти возникает исключение, контейнер может остаться в неполном состоянии без определенных гарантий безопасности.
Параллелизм и граничные условия
Для параллельных вызовов при одновременном использовании одного и того же экземпляра ara::core::Vector, вероятно, необходима внешняя синхронизация, поскольку спецификация не гарантирует потокобезопасность. Вопрос Q-5ada879738b3856d (открытый) Кроме того, условием безошибочного выполнения является то, что first и last образуют корректный диапазон итераторов.
Взаимодействие в модуле core
Наряду с присваиванием диапазона через итераторы, в ara::core::Vector доступны перегрузки с количеством и опорным значением [SWS_CORE_01329], а также для std::initializer_list<T>[SWS_CORE_01330], которые также объявлены как небезопасные относительно исключений. Сопоставимые шаблоны присваивания существуют и в контексте модуля ara::core::BasicString[SWS_CORE_03091].
Это указание по использованию было сгенерировано автоматически и основано исключительно на данных спецификации R25-11.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: c2495d7f215cПроисхождениеОткрытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Функция assign принадлежит к классу контейнера ara::core::Vector и предоставляется через заголовочный файл #include "ara/core/vector.h"[SWS_CORE_01329]. С сигнатурой void assign (size_type n, const T &u); она полностью заменяет текущее содержимое вектора на n элементов со значением u. Вызов выполняется синхронно и не возвращает значения (void). Согласно спецификации, поведение определяется соответствующим использованием в стандартном контейнере [vector][SWS_CORE_01329], под чем, вероятно, понимается семантика std::vector::assign. Вопрос Q-3630162224047ee0 (открытый)
Обработка ошибок
В отношении отказоустойчивости функция явно классифицирована как not exception safe[SWS_CORE_01329]. Не определены специфические для AUTOSAR коды ошибок, классы ошибок или сообщения в DET либо DEM. Если во время выделения памяти или при присваивании элементов возникает исключение, функция, вероятно, не предоставляет гарантий восстановления исходного состояния объекта. Вопрос Q-f4eb9afa74847bf7 (открытый)
Параллелизм и ограничения
Поскольку assign модифицирует состояние и потенциально емкость экземпляра контейнера, вызов не является реентерабельным для одного и того же экземпляра. Из-за отсутствия отдельных гарантий потокобезопасности в спецификации параллельный доступ на чтение или запись к одному и тому же объекту Vector без внешней синхронизации, вероятно, не является потокобезопасным. Вопрос Q-1df95afd2340ec57 (открытый)
Взаимодействие
Функция вместе с другими перегрузками класса ara::core::Vector формирует интерфейс для перезаписи содержимого вектора:
Присваивание на основе итераторов по диапазону assign(InputIterator first, InputIterator last) согласно [SWS_CORE_01328].
Присваивание через список инициализации assign(std::initializer_list<T>) согласно [SWS_CORE_01330].
Обе альтернативные перегрузки разделяют со свойством [SWS_CORE_01329] спецификацию как not exception safe.
Этот текст был создан ИИ и служит в качестве ориентира. Обязательную силу имеют исключительно спецификации документов AUTOSAR.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: a53aaf2941a9ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член assign класса ara::core::Vector синхронно заменяет все прежнее содержимое экземпляра вектора элементами предоставленного списка инициализации std::initializer_list<T> ([SWS_CORE_01330]). Функциональное поведение при этом следует корреспондирующему использованию стандартного контейнера в [vector] ([SWS_CORE_01330]). Функция не имеет возвращаемого значения (void) и объявляется через заголовочный файл ara/core/vector.h ([SWS_CORE_01330]).
Для обработки ошибок установлено, что метод классифицирован как not exception safe ([SWS_CORE_01330]). Интерпретация: если во время выделения памяти или при копировании либо перемещении элементов возникает исключение, реализация, вероятно, не предоставляет строгой безопасности исключений; вектор, скорее всего, останется в измененном или неполном состоянии. Вопрос Q-ac196ecfba85d821 (открытый)
Во взаимодействии с другими интерфейсами ara::core::Vector функция дополняет альтернативные перегрузки присваивания, такие как инициализация через диапазоны итераторов ([SWS_CORE_01328]) и многократное присваивание отдельного значения ([SWS_CORE_01329]). Все эти варианты assign разделяют свойство отсутствия безопасности исключений. Сопоставимая семантика присваивания с помощью std::initializer_list встречается внутри базовой библиотеки также у ara::core::BasicString ([SWS_CORE_03092]).
Этот текст был сгенерирован ИИ на основе спецификации 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
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7e8643f8168aПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование и семантика
Функция-член at обеспечивает синхронный доступ для чтения к элементу контейнера ara::core::Vector по указанному индексу n и возвращает const_reference на элемент [SWS_CORE_01354]. Объявление доступно через заголовочный файл ara/core/vector.h[SWS_CORE_01354]. Семантика соответствует стандартной функции std::vector::at из стандарта C++, но отличается обработкой ошибок [SWS_CORE_01354].
Обработка ошибок и граничные условия
Если запрашивается индекс, который достигает размера контейнера или превышает его (n >= size()), вызывается IsoStdOutOfRangeViolation вместо стандартного исключения std::out_of_range[SWS_CORE_01354]. Функция объявлена как not exception safe[SWS_CORE_01354]. Интерпретация: поскольку исключение C++ не выбрасывается, вызов нарушения, вероятно, приводит к прерыванию выполнения программы, которое потенциально может взаимодействовать с механизмами обработки, такими как AddAbortHandler[SWS_CORE_00054]. Вопрос Q-2182d648ff4a28b8 (открытый)
Взаимодействие в модуле
Для модифицирующего доступа доступна неконстантная перегрузка с возвращаемым значением reference, которая следует тому же пути обработки ошибок [SWS_CORE_01355]. Идентичное поведение отклонения с IsoStdOutOfRangeViolation встречается и в других типах данных Core, таких как ara::core::Array[SWS_CORE_01273][SWS_CORE_01274] и ara::core::BasicString[SWS_CORE_03063].
Это указание по использованию было создано автоматически на основе спецификации AUTOSAR R25-11.
As per corresponding usage in [vector] 1. if (n >= size()) IsoStdOutOfRangeViolation is raised instead of std:: out_of_range
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: dee504db9fffПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член at класса ara::core::Vector ([SWS_CORE_01355]), предоставляемая через заголовочный файл #include "ara/core/vector.h", обеспечивает индексированный доступ для чтения и записи к отдельным элементам вектора. Функция принимает индекс позиции n типа size_type и возвращает модифицируемую ссылку (reference) на элемент в указанной позиции. Семантика следует соответствующей реализации в [vector]. Интерпретация: поскольку интерфейс объявлен синхронным в соответствии со стандартом C++, выполнение, вероятно, происходит блокирующим образом непосредственно в контексте вызывающего потока. Вопрос Q-81f43622c244ce91 (открытый)
В отличие от стандартного вектора ISO C++, функция при выходе индекса за границы (n >= size()) вызывает нарушение IsoStdOutOfRangeViolation вместо стандартного исключения std::out_of_range ([SWS_CORE_01355]). В спецификации функция классифицирована как небезопасная относительно исключений (not exception safe) ([SWS_CORE_01355]). Интерпретация: поскольку механизмы синхронизации для этого доступа к вектору не специфицированы, незащищенный параллельный доступ к одному и тому же экземпляру, по-видимому, не является потокобезопасным. Вопрос Q-e65ae0c574610719 (открытый)
Для константного доступа только для чтения доступна перегрузка const_reference at(size_type n) const, которая также сообщает IsoStdOutOfRangeViolation и считается небезопасной относительно исключений ([SWS_CORE_01354]). Ту же семантику нарушений при ошибочном доступе используют и родственные контейнеры и типы базовой библиотеки Core, в том числе ara::core::Array ([SWS_CORE_01273], [SWS_CORE_01274]), ara::core::Map ([SWS_CORE_01456], [SWS_CORE_01457]), ara::core::StringView ([SWS_CORE_02133]), а также ara::core::BasicString ([SWS_CORE_03063], [SWS_CORE_03064]).
Этот текст был сгенерирован ИИ и служит в качестве ориентира. Обязательную силу имеют исключительно спецификации документации AUTOSAR.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: de070e9c410aПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование и семантика
Метод clear() класса ara::core::Vector служит для полной очистки вектора согласно [SWS_CORE_01375]. Функция объявлена в заголовке ara/core/vector.h, может вызываться синхронно, не принимает параметров и не возвращает значения (void). Её функциональная семантика основана на соответствующей спецификации для [vector]. Интерпретация: это, вероятно, означает, что все присутствующие в векторе элементы уничтожаются и количество элементов уменьшается до 0, при этом выделенная емкость памяти, предположительно, сохраняется без изменений. Вопрос Q-ecde315e61455c32 (открытый)
Обработка ошибок и безопасность исключений
Для вызова действует обозначение noexcept, а также классификация как безопасного относительно исключений (exception safe) согласно [SWS_CORE_01375]. Поскольку метод гарантированно не генерирует исключений, специфических кодов ошибок не существует, и в случае ошибки сообщения об ошибках DET или DEM не отправляются.
Взаимодействие с родственными контейнерами
Концепция безопасной относительно исключений функции clear() последовательно переносится в ara::core на другие структуры данных. Так, ara::core::Map в заголовке ara/core/map.h предоставляет идентичный метод clear() согласно [map][SWS_CORE_01485]. Точно так же ara::core::BasicString в заголовке ara/core/string.h предлагает эквивалентную операцию clear() согласно [basic.string][SWS_CORE_03057].
Это указание по использованию было сгенерировано автоматически и основано исключительно на спецификациях переданных полезных данных.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: f17de2d5c630ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член crbegin класса ara::core::Vector согласно [SWS_CORE_01342] предоставляет константный обратный итератор (const_reverse_iterator) на последний элемент последовательности. Вызов выполняется синхронно и без параметров через заголовочный файл ara/core/vector.h. Поведение соответствует спецификации базовой стандартной библиотеки C++ для [vector]. Для пустого контейнера возвращаемый итератор, вероятно, равен значению crend() (интерпретация на основе [vector]). Вопрос Q-a2badba87f86486c (открытый)
В отношении обработки ошибок интерфейс снабжен идентификатором noexcept и объявлен как базопасный относительно исключений (exception safe) ([SWS_CORE_01342]). Вызовы не генерируют исключений и не сообщают об ошибках в системы мониторинга времени выполнения или диагностики.
Что касается параллелизма и ограничений, метод квалифицирован как const. Одновременный доступ на чтение к одному и тому же экземпляру из нескольких потоков, вероятно, является реентерабельным и потокобезопасным, пока для вектора не выполняются конкурирующие операции записи (интерпретация по аналогии с моделью контейнеров C++). Вопрос Q-094ba5878c1adc74 (открытый)
В модуле core концепция константной обратной итерации согласованно реализована для различных типов. Аналогичные интерфейсы встречаются у ara::core::Array ([SWS_CORE_01260]), ara::core::Map ([SWS_CORE_01450]), ara::core::Span ([SWS_CORE_01978]), ara::core::StringView ([SWS_CORE_02126]), а также ara::core::BasicString ([SWS_CORE_03049]).
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: b6ed373b1e91Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член crend класса ara::core::Vector предоставляет константный обратный итератор, указывающий на теоретический элемент перед первым элементом вектора [SWS_CORE_01343]. Семантика соответствует аналогичному использованию в стандарте C++ для std::vector («As per corresponding usage in [vector]») [SWS_CORE_01343].
Использование и поведение
Контекст вызова и параметры: метод не принимает параметров и объявлен как const, благодаря чему он может синхронно вызываться как на константных, так и на неконстантных экземплярах ara::core::Vector[SWS_CORE_01343].
Возвращаемое значение: возвращается const_reverse_iterator, обозначающий логический конец обратной итерации [SWS_CORE_01343].
Обработка ошибок и безопасность исключений
Функция специфицирована с noexcept и согласно спецификации считается безопасной относительно исключений («exception safe») [SWS_CORE_01343]. Специфические коды ошибок не возвращаются, и исключения не возникают.
Взаимодействие с родственными контейнерами
Концепция константного обратного итератора на конечную точку обратной итерации единообразно реализована для всех контейнеров в ara::core. Аналогичные интерфейсы с идентичной обработкой исключений (noexcept) существуют, в частности, для ara::core::Array[SWS_CORE_01261], ara::core::Map[SWS_CORE_01451], ara::core::Span[SWS_CORE_01979], ara::core::StringView[SWS_CORE_02127], а также ara::core::BasicString[SWS_CORE_03050].
Данное указание по использованию создано ИИ и опирается на требования спецификации из релиза R25-11.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: bec6ec9ae706ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция emplace вставляет элемент в указанную позицию непосредственно в ara::core::Vector путем пересылки переданных аргументов [SWS_CORE_01366]. Объявление находится в заголовочном файле #include "ara/core/vector.h" и следует соответствующему использованию в [vector][SWS_CORE_01366].
Использование
Вызов emplace выполняется синхронно и принимает в качестве параметров итератор позиции position типа const_iterator, а также пакет параметров args типа Args&&...[SWS_CORE_01366]. В качестве возвращаемого значения функция предоставляет iterator на вновь сконструированный элемент [SWS_CORE_01366].
Обработка ошибок и параллелизм
Для emplace в ara::core::Vector безопасность относительно исключений явно специфицирована как not exception safe[SWS_CORE_01366]. Специфические коды ошибок, сообщения DET или DEM в стандарте не определены. Интерпретация: из-за отсутствия внутренних механизмов синхронизации одновременный вызов emplace на одном и том же экземпляре без внешней защиты, вероятно, не является потокобезопасным. Вопрос Q-d72278df37e86c8a (открытый)
Взаимодействие
Внутри ara::core безопасность относительно исключений для emplace варьируется в зависимости от типа:
В ara::core::Mapemplace также определен как not exception safe, однако возвращает std::pair<iterator, bool>[SWS_CORE_01458].
В ara::core::Optional варианты являются условно безопасными относительно исключений ([SWS_CORE_01119], [SWS_CORE_01120]) или полностью безопасными относительно исключений для ссылок [SWS_CORE_01164].
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ee506cbddbcfПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Шаблонный метод emplace_back класса ara::core::Vector согласно [SWS_CORE_01362] служит для конструирования нового элемента непосредственно в конце вектора. Передаваемые параметры Args&&... args при этом передаются напрямую в конструктор типа элемента в соответствии с семантикой [vector]. В качестве возвращаемого значения функция возвращает ссылку (reference) на вновь созданный элемент. Для использования необходимо подключить заголовок #include "ara/core/vector.h"[SWS_CORE_01362].
Обработка ошибок и безопасность исключений
Что касается безопасности относительно исключений, операция в [SWS_CORE_01362] явно объявлена как not exception safe. Специфические коды ошибок, резервные значения или сообщения в службы ошибок, такие как DET или DEM, в спецификации не определены.
Ограничения и поведение
Из-за свойства not exception safe и ориентации на [vector] в случае сбоя, например при неудачном выделении памяти или неудачном конструировании, вероятно, нет никакой гарантии сохранения прежнего состояния контейнера (интерпретация). Вопрос Q-ca44b2f27d8ae1c8 (открытый) Поэтому вызывающие стороны должны заблаговременно исключить возможные ошибочные условия.
Этот текст был сгенерирован ИИ и служит в качестве ориентировочного руководства.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 64de7076f3b2ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция erase класса ara::core::Vector согласно [SWS_CORE_01372] служит для синхронного удаления одного элемента в месте, указанном параметром position (const_iterator). В качестве возвращаемого значения она предоставляет iterator на следующий элемент либо на конец контейнера, если удаленный элемент находился в последней позиции, в соответствии со ссылочной семантикой в [vector]. Функция объявлена в заголовочном файле #include "ara/core/vector.h".
Что касается обработки ошибок, в спецификации операция явно обозначена как небезопасная относительно исключений («not exception safe») [SWS_CORE_01372]. Специфические возвраты ошибок, сообщения DET или DEM не определены; поэтому недействительные или неразыменовываемые итераторы, вероятно, приводят к неопределенному поведению. Вопрос Q-efa4c40e48a6f98d (открытый) Из-за сдвига элементов в векторе следует предположить (в качестве интерпретации:), что последующие итераторы и ссылки становятся недействительными, что соответствует стандартной семантике [vector].
При взаимодействии в рамках ara::core::Vector наряду с удалением в одиночной позиции существует перегрузка erase(first, last) для целых диапазонов согласно [SWS_CORE_01373]. Аналогичные интерфейсы для удаления записей имеются и в других контейнерах библиотеки Adaptive Core: ara::core::Map предоставляет перегрузки на основе позиций и ключей ([SWS_CORE_01480], [SWS_CORE_01481], [SWS_CORE_01482], [SWS_CORE_01483]), тогда как ara::core::BasicString содержит варианты на основе индексов и итераторов ([SWS_CORE_03102], [SWS_CORE_03103], [SWS_CORE_03104]).
Данное указание по использованию сгенерировано автоматически и основано на требованиях спецификации.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 494dc0882ae6ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член erase класса ara::core::Vector служит для удаления диапазона элементов из вектора согласно спецификации [SWS_CORE_01373]. Объявление доступно через заголовочный файл ara/core/vector.h. Семантика следует соответствующему использованию в стандартном векторе («As per corresponding usage in [vector]»). В качестве параметров передаются два итератора first и last, ограничивающие удаляемый диапазон; возвращается iterator на следующий элемент.
В отношении обработки ошибок и безопасности относительно исключений операция в спецификации явно классифицирована как «not exception safe» [SWS_CORE_01373]. Специфические коды ошибок или нарушения (violations) для этой функции, в отличие от других операций контейнеров, не определены. Если при выполнении возникнет ошибка, это, вероятно, оставит контейнер в несогласованном состоянии. Вопрос (открытый)
Относительно параллелизма и ограничений спецификация умалчивает; однако модифицирующие операции над ara::core::Vector, вероятно, не являются реентерабельными и в многопоточном режиме, по-видимому, требуют внешней защиты. Вопрос Q-07fc291a523a82f1 (открытый)
При взаимодействии с другими интерфейсами модуля Core эта функция дополняет перегрузку для удаления отдельного элемента в определенной позиции с помощью iterator erase(const_iterator position)[SWS_CORE_01372]. Соответствующие удаления диапазонов по тому же шаблону определены также для ассоциативных контейнеров, таких как ara::core::Map через [SWS_CORE_01483], а также строк в ara::core::BasicString через [SWS_CORE_03104].
Данное указание по использованию сгенерировано ИИ на основе AUTOSAR R25-11.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: a3ba159fb66fПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Функция-член insert класса ara::core::Vector служит для синхронной вставки элемента в заданную позицию [SWS_CORE_01367]. Она определена в заголовке #include "ara/core/vector.h"[SWS_CORE_01367]. Функция принимает в качестве параметров итератор position типа const_iterator, отмечающий целевую позицию, а также константную ссылку x на вставляемый объект типа const T &[SWS_CORE_01367]. Возвращаемым значением является iterator, указывающий на вновь вставленный элемент [SWS_CORE_01367]. При этом функциональное поведение соответствует использованию в стандартном векторе («As per corresponding usage in [vector]») [SWS_CORE_01367].
Обработка ошибок и ограничения
Спецификация явно классифицирует функцию как небезопасную относительно исключений («not exception safe») [SWS_CORE_01367]. Специфические коды ошибок, возвращаемые значения для случаев сбоя или сообщения в DET либо DEM не определены. Интерпретация: в случае сбоя внутреннего выделения памяти или копирования элемента гарантии сохранения состояния контейнера или валидности итераторов, вероятно, отсутствуют. Вопрос Q-d2b5552bb124d16e (открытый)
Взаимодействие
Внутри ara::core::Vector существует несколько перегрузок insert, обеспечивающих альтернативные операции вставки:
вставка определенного количества идентичных элементов с помощью size_type n, const T &x[SWS_CORE_01369],
вставка последовательности через диапазон итераторов [first, last)[SWS_CORE_01370],
вставка через список инициализации std::initializer_list<T>[SWS_CORE_01371].
Аналогичные методы insert в модуле core определяют также ассоциативные контейнеры, такие как ara::core::Map[SWS_CORE_01460], и строковые классы, такие как ara::core::BasicString[SWS_CORE_03093].
Это указание по использованию было создано автоматически. Оно основано исключительно на спецификациях релиза AUTOSAR R25-11.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 60fc9467623bПроисхождениеОткрытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Метод insert согласно [SWS_CORE_01368] определен в заголовочном файле #include "ara/core/vector.h" как функция-член класса ara::core::Vector. Он служит для синхронной вставки элемента через rvalue-ссылку (T&& x) в позицию перед итератором position. Согласно ссылке на [vector], функция, предположительно, передает содержимое x в вектор с использованием семантики перемещения и возвращает iterator на вновь вставленный элемент. Вопрос Q-97f2551da8fd303f (открытый)
Обработка ошибок и ограничения
Спецификация классифицирует функцию в [SWS_CORE_01368] как not exception safe. Специфические коды ошибок, возвращаемые значения для индикации ошибок или сообщения в DET или DEM не определены. Интерпретация: если внутреннее выделение памяти или перемещение элементов завершается неудачно, безопасность относительно исключений, вероятно, не гарантируется, что может оставить контейнер в несогласованном состоянии или привести к аварийному завершению. Вопрос Q-297ef8ff6f6eb76b (открытый) Кроме того, внутренней защиты от параллелизма, предположительно, не существует, поэтому одновременный доступ должен синхронизироваться извне.
Взаимодействие
Rvalue-вариант [SWS_CORE_01368] вместе с другими перегрузками insert из ara::core::Vector образует целостный интерфейс:
[SWS_CORE_01367]: вставка значения копированием с помощью lvalue-ссылки (const T& x).
[SWS_CORE_01369]: вставка n копий значения (size_type n, const T& x).
[SWS_CORE_01370]: вставка последовательности через диапазон итераторов (InputIterator first, InputIterator last).
[SWS_CORE_01371]: вставка списка с помощью std::initializer_list<T>.
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7edeb5bda5f6ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член insert из [SWS_CORE_01369] принадлежит классу ara::core::Vector и предоставляется через заголовочный файл #include "ara/core/vector.h". Синхронная операция служит для вставки нескольких идентичных элементов. Интерпретация: согласно указанной ссылке «As per corresponding usage in [vector]», вызов, по всей видимости, вставляет ровно n копий переданного значения x непосредственно перед позицией итератора position в вектор и возвращает iterator на первый вновь вставленный элемент. Вопрос Q-c92add148c490868 (открытый)
В отношении обработки ошибок и надёжности функция в [SWS_CORE_01369] явно классифицирована как «not exception safe». Специфические коды ошибок AUTOSAR или сообщения в DET либо DEM для этого вызова метода не предусмотрены.
В отношении параллелизма и условий вызова спецификация не содержит отдельных гарантий. Вероятно, модификация контейнера, как и в случае со стандартными векторами, требует внешней синхронизации, поскольку конкурирующие обращения на запись или чтение вряд ли являются потокобезопасными. Вопрос (открытый)
Внутри ara::core::Vector, помимо этой перегрузки для повторяющихся значений, существуют другие варианты insert:
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 1d6a2d4c594cПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Шаблонная функция-член insert последовательного контейнера ara::core::Vector ([SWS_CORE_01370]) из заголовочного файла #include "ara/core/vector.h" синхронно вставляет последовательность элементов в вектор. Вставляемый диапазон определяется через итераторы ввода first и last и размещается непосредственно перед позицией, обозначенной position (тип const_iterator). В качестве возвращаемого значения функция возвращает iterator, указывающий на первый вставленный элемент. Техническая семантика описывается в спецификации как «As per corresponding usage in [vector]» ([SWS_CORE_01370]); интерпретация: это, вероятно, должно соответствовать стандартизированному поведению диапазонной вставки std::vector. Вопрос Q-c6cd06fb1964ead6 (открытый)
Что касается обработки ошибок и надёжности, функция явно специфицирована как not exception safe ([SWS_CORE_01370]). Специальные коды ошибок, исключения или сообщения мониторам ошибок и диагностики (таким как DET или DEM) в объёме спецификации не предусмотрены.
В рамках интерфейса ara::core::Vector эта перегрузка для диапазонов дополняет остальные методы вставки:
вставку фиксированного количества идентичных значений ([SWS_CORE_01369]),
а также вставку из списка инициализации через std::initializer_list ([SWS_CORE_01371]).
Все упомянутые перегрузки внутри вектора разделяют ограничение, заключающееся в отсутствии безопасности относительно исключений ([SWS_CORE_01367], [SWS_CORE_01371]).
Этот текст был сгенерирован системой ИИ на основе спецификации AUTOSAR.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 87bda45bd96fПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Синхронная функция-член insert класса ara::core::Vector вставляет элементы списка инициализации в контейнер в заданной позиции [SWS_CORE_01371]. Она объявлена в заголовочном файле ara/core/vector.h[SWS_CORE_01371]. В качестве параметров функция ожидает итератор position типа const_iterator, указывающий позицию вставки, а также il типа std::initializer_list<T>[SWS_CORE_01371]. Возвращаемым значением является iterator на первый вставленный элемент или на position, если список пуст [SWS_CORE_01371].
Что касается обработки ошибок и надежности, спецификация явно классифицирует эту операцию как «not exception safe» [SWS_CORE_01371]. Специфические коды ошибок AUTOSAR или сообщения об ошибках (DET/DEM) не предусмотрены. Интерпретация: согласно указанию «As per corresponding usage in [vector]», поведение во время выполнения, включая возможное перераспределение памяти и сопутствующую инвалидацию существующих итераторов, вероятно, соответствует семантике std::vector::insert[SWS_CORE_01371]. Вопрос Q-67ac8e3de4d4ce7a (открытый) Специальные механизмы синхронизации для параллельного доступа не специфицированы.
В модуле core функция находится в контексте других операций вставки класса 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
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: deefee9625deПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование и семантика
Функция-член pop_back контейнера ara::core::Vector служит для синхронного удаления последнего элемента [SWS_CORE_01365]. Функция объявлена в заголовочном файле ara/core/vector.h и имеет сигнатуру void pop_back ()[SWS_CORE_01365]. В отношении функционального поведения AUTOSAR явно ссылается на соответствующее использование в [vector], так что параметры не передаются и возвращаемое значение отсутствует [SWS_CORE_01365].
Обработка ошибок и безопасность исключений
Что касается обработки ошибок, спецификация указывает свойство not exception safe[SWS_CORE_01365]. Поскольку в полезной нагрузке не определены специальные коды ошибок, возвращаемые значения или механизмы проверки, встроенная обработка ошибок при недопустимых вызовах отсутствует [SWS_CORE_01365]. Интерпретация: перед вызовом вызывающая сторона должна убедиться, что вектор не пуст; вызов на пустом экземпляре, аналогично [vector], вероятно, приведёт к неопределённому поведению. Вопрос Q-add313a489db4726 (открытый)
Взаимодействие и смежные требования
Корреспондирующий паттерн встречается в классе ara::core::BasicString из ara/core/string.h, чья функция pop_back удаляет последний символ согласно [basic.string] и точно так же специфицирована как not exception safe[SWS_CORE_03105]. Оба определения унифицируют модификацию последовательных структур данных в модуле core[SWS_CORE_01365], [SWS_CORE_03105].
Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR Adaptive R25-11.
As per corresponding usage in [vector] except for the following deviations: 1. Function is conditionally noexcept: (see [vector.modifiers])
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: a852a13f9301ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Функция-член push_back в области видимости ara::core::Vector вставляет переданный элемент путём копирования в конец контейнера [SWS_CORE_01363]. Она определена в заголовочном файле #include "ara/core/vector.h", принимает ссылку на константное значение const T &x и не имеет возвращаемого значения (void) [SWS_CORE_01363]. Вызов выполняется синхронно в контексте вызывающей стороны.
Обработка ошибок и безопасность исключений
Спецификация отличается от [vector] тем, что функция объявлена как условно noexcept: она гарантированно не генерирует исключений тогда и только тогда, когда выполняется std::is_nothrow_copy_assignable<T>::value[SWS_CORE_01363]. Соответственно, безопасность относительно исключений определена как «conditionally exception safe» [SWS_CORE_01363]. Специальные коды ошибок, а также сообщения об ошибках через DET или DEM для этой функции не определены.
Взаимодействие и смежные требования
Для перемещаемых объектов ara::core::Vector предоставляет перегрузку void push_back(T &&x), свойство noexcept которой аналогично привязано к std::is_nothrow_move_assignable<T>::value[SWS_CORE_01364]. В отличие от этого, push_back в ara::core::BasicString не имеет гарантии noexcept и классифицируется как «not exception safe» [SWS_CORE_03083].
Интерпретация: внутреннее поведение выделения памяти и перераспределения при вставке, помимо специфического объявления noexcept, вероятно, ориентируется на требования стандарта C++ для [vector]. Вопрос Q-202fb07b334cde64 (открытый)
Данное указание по использованию основано на спецификации AUTOSAR Adaptive релиза R25-11.
As per corresponding usage in [vector] except for the following deviations: 1. Function is conditionally noexcept: (see [vector.modifiers])
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 0ab7b8ba5428ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член push_back контейнера ara::core::Vector служит для синхронного добавления элемента в конец вектора с использованием семантики перемещения ([SWS_CORE_01364]). Она предоставляется через заголовочный файл #include "ara/core/vector.h", принимает rvalue-ссылку T &&x и не имеет возвращаемого значения (void) ([SWS_CORE_01364]).
В отношении обработки ошибок и поведения при исключениях действуют следующие свойства:
Метод классифицирован как условно безопасный относительно исключений (conditionally exception safe) ([SWS_CORE_01364]).
Гарантия noexcept привязана к типу: noexcept(std::is_nothrow_move_assignable<T>::value) ([SWS_CORE_01364]). Если оператор перемещающего присваивания T не объявлен как не генерирующий исключений, при выделении памяти или перемещении элементов могут возникать исключения. Вопрос Q-3b8b58d0b218fe21 (открытый)
Принцип работы следует обычной семантике в [vector], однако отличается условным объявлением noexcept ([SWS_CORE_01364]). Поскольку операция модифицирует контейнер, одновременный доступ к одному и тому же экземпляру без внешней синхронизации, вероятно, не является потокобезопасным. Вопрос (открытый)
Во взаимодействии интерфейсов этот вариант с перемещением дополняет перегрузку для копирования push_back(const T &x) ([SWS_CORE_01363]), которая аналогично привязана к is_nothrow_copy_assignable. От неё следует отличать одноимённую функцию-член в ara::core::BasicString ([SWS_CORE_03083]), которая добавляет отдельные символы и определена как небезопасная относительно исключений.
Это указание по использованию было сгенерировано автоматически и основано на требованиях спецификации.
As per corresponding usage in [vector] except for the following deviations: 1. if (n < max_size()) IsoStdLengthErrorViolation is raised instead of std:: length_error
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 1fc59f941a26ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член reserve класса ara::core::Vector служит согласно [SWS_CORE_01347] для резервирования памяти под экземпляры вектора. Она вызывается синхронно и предоставляется через заголовочный файл ara/core/vector.h. Функция принимает параметр n типа size_type и не имеет возвращаемого значения. Базовое поведение соответствует обычной семантике std::vector::reserve из стандарта ISO C++.
Обработка ошибок и нарушения
В отличие от стандарта ISO C++, в случае ошибки исключение типа std::length_error не выбрасывается, а инициируется IsoStdLengthErrorViolation[SWS_CORE_01347]. Спецификация называет для этого условие n < max_size(), при этом, вероятно, подразумевается превышение максимальной вместимости. Вопрос Q-8d4dbf516b7b87b7 (открытый) Кроме того, согласно спецификации операция явно объявлена как не безопасная относительно исключений (not exception safe) [SWS_CORE_01347].
Взаимодействие и граничные условия
Инициирование IsoStdLengthErrorViolation соответствует единой концепции ошибок в ara::core и аналогичным образом встречается в ara::core::BasicString::reserve согласно [SWS_CORE_03054]. Поскольку вызов reserve может вызывать внутренние перераспределения памяти, при конкурирующем доступе к одному и тому же экземпляру функция не является потокобезопасной и требует внешней синхронизации.
Это указание по использованию было создано системой ИИ на основе спецификации 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
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: e1f4cdbd6da3ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член resize синхронно подгоняет количество содержащихся в контейнере элементов под желаемый целевой размер sz ([SWS_CORE_01350]). Она принадлежит к классу ara::core::Vector и подключается через заголовочный файл #include "ara/core/vector.h" ([SWS_CORE_01350]). Функциональное поведение ориентируется на спецификацию ISO C++ для std::vector: если контейнер уменьшается, лишние элементы удаляются; если он увеличивается, дополнительные элементы создаются путем инициализации значением.
В случае ошибки функция целенаправленно отклоняется от поведения стандартной библиотеки: если требуемый размер sz превышает max_size(), генерируется IsoStdLengthErrorViolation вместо std::length_error ([SWS_CORE_01350]). Спецификация квалифицирует функцию как небезопасную относительно исключений (not exception safe) ([SWS_CORE_01350]). Поэтому вызывающие стороны должны обеспечивать соблюдение пределов емкости во избежание нарушения во время выполнения.
В отношении параллелизма метод не является реентерабельным для одного и того же экземпляра: модифицирующие параллельные вызовы для одного и того же объекта без внешней синхронизации, вероятно, приведут к повреждению данных (интерпретация: аналогичные правила потокобезопасности, как для контейнеров ISO C++). Вопрос Q-1283cb9616fde934 (открытый) Если вновь добавляемые элементы должны не инициализироваться по умолчанию, а заполняться копией заданного значения, следует выбирать перегруженный вариант с параметром const T& ([SWS_CORE_01351]). Класс ara::core::BasicString предоставляет соответствующую аналогичную пару интерфейсов с идентичной обработкой ошибок при превышении предельных значений ([SWS_CORE_03058], [SWS_CORE_03059]).
Это указание по использованию было автоматически сгенерировано на основе спецификации 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
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 2eadecd4d26fПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Функция-член resize класса ara::core::Vector ([SWS_CORE_01351]) из заголовочного файла #include "ara/core/vector.h" изменяет количество элементов в контейнере до заданного целевого размера sz. При увеличении функция инициализирует вновь добавленные элементы копиями переданного значения c ([SWS_CORE_01351]). Вызов обрабатывается синхронно и не имеет возвращаемого значения (void).
Обработка ошибок и безопасность исключений
Поведение в значительной степени соответствует стандартному контейнеру std::vector, однако целенаправленно отличается в случае ошибки: если параметр sz превышает максимальное значение max_size(), генерируется IsoStdLengthErrorViolation вместо стандартного исключения std::length_error ([SWS_CORE_01351]). Спецификация явно помечает функцию как not exception safe ([SWS_CORE_01351]). Если во время выделения памяти или при копировании c возникают ошибки, гарантий восстановления исходного состояния объекта не существует.
Ограничения и взаимодействие
Из-за отсутствия безопасности исключений сбой, вероятно, приведет к несогласованному состоянию контейнера, в связи с чем вызывающим сторонам следует предварительно проверять наличие достаточной емкости. Вопрос Q-9701a24a177cbb21 (открытый) Если новые элементы вместо этого должны конструироваться по умолчанию, предусмотрена перегрузка resize(size_type sz) без значения инициализации ([SWS_CORE_01350]). Идентичное поведение при ошибках с генерацией IsoStdLengthErrorViolation и классификацией как небезопасное относительно исключений аналогично встречается у ara::core::BasicString ([SWS_CORE_03058], [SWS_CORE_03059]).
Этот текст был создан ИИ на основе спецификации AUTOSAR.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 57a8d094a016ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член shrink_to_fit() класса ara::core::Vector согласно [SWS_CORE_01349] служит для уменьшения емкости памяти до объема, требуемого для текущих элементов в соответствии с требованием [vector]. Функция объявляется через заголовочный файл #include "ara/core/vector.h", не принимает параметров и не возвращает значения (void) [SWS_CORE_01349]. Вызов выполняется синхронно на экземпляре.
В отношении поведения при ошибках коды ошибок или сообщения об ошибках (DET/DEM) не определены. В спецификации функция явно классифицирована как not exception safe[SWS_CORE_01349]. Интерпретация: если внутреннее перераспределение памяти завершается неудачей, вероятно, нет никакой гарантии сохранения прежнего состояния контейнера. Вопрос Q-b4b5bef83f265ceb (открытый)
Для многопоточности и контекста вызова действуют ограничения последовательных структур данных: параллельные вызовы на одном и том же экземпляре без внешней синхронизации, вероятно, не являются реентерабельными или потокобезопасными. Вопрос (открытый) Во время выполнения не должно происходить параллельных обращений на чтение или запись к вектору.
Непосредственно родственное поведение определено для строк в [SWS_CORE_03056]: класс ara::core::BasicString через #include "ara/core/string.h" также предоставляет функцию shrink_to_fit(), которая ориентируется на [basic.string] и равным образом классифицирована как not exception safe[SWS_CORE_03056].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал