Предоставляет соответствующую стандарту, типобезопасную абстракцию битового поля фиксированного размера с гарантиями noexcept для Adaptive Core.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ae7240ca6617ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Предоставляет соответствующую стандарту, типобезопасную абстракцию битового поля фиксированного размера с гарантиями noexcept для Adaptive Core.
Шаблон класса ara::core::Bitset предоставляет адаптированную для AUTOSAR Adaptive реализацию std::bitset для битовых последовательностей фиксированного размера [SWS_CORE_01741]. Он предлагает комплексные операции для манипуляции битами, логических связок и оптимизированных преобразований в скалярные целочисленные типы со строгими гарантиями noexcept [SWS_CORE_01738]. Позиционные модификации сообщают о недопустимых индексах через ara::core::Result вместо исключений C++, тогда как преобразования обрабатывают ошибки переполнения детерминированно. Благодаря этому класс особенно подходит для ресурсоэффективных и отказоустойчивых функций электронных блоков управления (ECU).
Контекст
Шаблонный класс ara::core::Bitset предоставляет в рамках Adaptive Platform реализацию стандартного типа C++ std::bitset для последовательностей битов с фиксированной во время компиляции длиной N[SWS_CORE_01741]. В экосистеме AUTOSAR класс служит для высокопроизводительной и типобезопасной обработки битовых полей, масок состояния и регистров флагов на блоках управления. Он бесшовно интегрируется в систему типов модуля core, поддерживая платформозависимый тип ara::core::BasicString вместо std::basic_string[SWS_CORE_01749], [SWS_CORE_01751]. Кроме того, AUTOSAR расширяет стандартизированный интерфейс специализированными функциями преобразования в беззнаковые целочисленные типы фиксированной ширины, такие как std::uint8_t, std::uint16_t, std::uint32_t и std::uint64_t[SWS_CORE_01736], [SWS_CORE_01737], [SWS_CORE_01738], [SWS_CORE_01739].
Жизненный цикл
Создание экземпляра гибко осуществляется через несколько конструкторов. Конструктор по умолчанию инициализирует все N битов нулевыми значениями и объявлен как constexpr, а также noexcept[SWS_CORE_01713]. В качестве альтернативы bitset может быть инстанцирован из скалярного значения типа unsigned long long[SWS_CORE_01719] или на основе текста из ara::core::BasicString[SWS_CORE_01749] либо указателя на нуль-терминированную строку const CharT*[SWS_CORE_01750]. Конструктор копирования и конструктор перемещения присутствуют и определены как noexcept=default[SWS_CORE_01714], [SWS_CORE_01716]. Также предоставляются соответствующие операторы присваивания [SWS_CORE_01715], [SWS_CORE_01717]. Деструктор специфицирован как noexcept и потокобезопасный [SWS_CORE_01718]. С точки зрения параллелизма функции преобразования в целые числа также являются потокобезопасными [SWS_CORE_01736], [SWS_CORE_01737], тогда как модифицирующие доступы к одному и тому же экземпляру bitset должны синхронизироваться.
Путь использования
Типичный сценарий использования включает инстанцирование, последующую манипуляцию отдельными битами или битовыми масками, а также завершающее вычисление или преобразование битового поля:
Создание: bitset обычно создается с начальным значением [SWS_CORE_01719] или инициализируется конструктором по умолчанию [SWS_CORE_01713].
Преобразование: для дальнейшей обработки содержимое битового поля может быть переведено в числовые типы фиксированной ширины, например с помощью to_uint32t[SWS_CORE_01738], или экспортировано в виде строки посредством to_string[SWS_CORE_01751].
В отличие от std::bitset, ara::core::Bitset использует отказоустойчивую, детерминированную концепцию обработки ошибок без исключений (noexcept):
Выход за пределы диапазона при позиционном доступе: в манипулирующих функциях set(pos)[SWS_CORE_01726], reset(pos)[SWS_CORE_01728] и flip(pos)[SWS_CORE_01731] используется возвращаемый тип Result<Bitset<N>&>. Если pos находится вне допустимого диапазона, возвращается IsoStdOutOfRangeViolation вместо std::out_of_range. Интерпретация: последовательное применение ara::core::Result и noexcept, вероятно, служит для соблюдения строгих требований отказа от исключений (no-exception) в критически важных для безопасности областях Adaptive Platform. Вопрос Q-322c53fff705bce6 (открытый) Функция проверки test(pos) при недопустимом pos также указывает на IsoStdOutOfRangeViolation[SWS_CORE_01743].
Недопустимые строки: при конструировании из ara::core::BasicString[SWS_CORE_01749] при pos > size() генерируется IsoStdOutOfRangeViolation, а при наличии символов, отличных от 0 или 1, — IsoStdInvalidArgumentViolation (вместо std::invalid_argument).
Ограниченная безопасность исключений: в то время как большинство операций noexcept и безопасны относительно исключений, конструирование из указателей const CharT*[SWS_CORE_01750], а также экспорт посредством to_string[SWS_CORE_01751] явно классифицированы как небезопасные относительно исключений (not exception safe).
Настоящее руководство по классу основано на спецификации AUTOSAR Adaptive Release R25-11 и создано автоматически.
except for the following deviations: 1. The function is noexcept 2. If pos does not correspond to a valid bit position, IsoStdOutOfRangeViolation is raised instead of std::out_of_range ≙ std::out_of_range
[AUTOSAR defined] not present in ISO-14882. Alias for ara::core::Bitset::to_ulong but explicitly using the std::uint32_t type from [SWS_APT_00028] ≙ std::uint32_t
[AUTOSAR defined] not present in ISO-14882. Alias for ara::core::Bitset::to_ullong but explicitly using the std::uint64_t type from [SWS_APT_00031] ≙ std::uint64_t
except for the following deviations: 1. Function is constexpr 2. The function is noexcept 3. If the integral value x corresponding to the bits in the bitset cannot be represented as the return type, IsoStdOverflowErrorViolation is raised instead of std:: overflow_error ≙ [bitset]
constexpr unsigned long long to_ullong () const noexcept;
except for the following deviations: 1. Function is constexpr 2. The function is noexcept 3. If the integral value x corresponding to the bits in the bitset cannot be represented as the return type, IsoStdOverflowErrorViolation is raised instead of std:: overflow_error ≙ [bitset]
constexpr unsigned long to_ulong () const noexcept;
As per corresponding usage in [bitset] except for the following deviations: 1. The function is noexcept 2. If (pos > size()), IsoStdOutOfRangeViolation is raised instead of std:: out_of_range 3. If any character is not 1 or 0, IsoStdInvalidArgumentViolation is raised instead of std::invalid_argument 4. Function arguments have been adapted to conform to ara::core::BasicString constructor parameters
As per corresponding usage in [bitset] except for the following deviations: 1. Function arguments have been adapted to conform to ara::core::BasicString constructor parameters
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 68eb943f5f65ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член [SWS_CORE_01744] принадлежит классу ara::core::Bitset и предоставляется через заголовочный файл #include "ara/core/bitset.h". Функция имеет сигнатуру bool all () const noexcept;, не принимает параметров и синхронно возвращает логическое значение. Согласно спецификации, семантика основана на соответствующем использовании в [bitset]; интерпретация: метод, предположительно, проверяет, установлены ли все биты экземпляра (имеют значение true). Вопрос Q-a4f0f8970bd2c9bb (открытый)
В отношении обработки ошибок функция объявлена как noexcept и специфицирована как безопасная относительно исключений (exception safe) [SWS_CORE_01744]. Поскольку состояния ошибок не сообщаются и выполнение гарантированно происходит без сбоев, коды ошибок из ara::core::CoreErrc здесь не применяются.
Для контекста вызова и параллелизма действуют следующие граничные условия:
Операция объявлена как const и не модифицирует состояние вызывающего объекта ara::core::Bitset[SWS_CORE_01744].
Одновременный доступ на чтение из нескольких потоков, по всей видимости, допустим без синхронизации до тех пор, пока никакой другой поток не изменяет ту же область памяти на запись. Вопрос Q-d9f1f92a120128b5 (открытый)
Это содержимое было сгенерировано ИИ на основе спецификации AUTOSAR R25-11.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7dc0cee01033ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член any() из ara::core::Bitset служит для синхронного запроса состояния занятости битов, управляемых в bitset [SWS_CORE_01745]. Согласно спецификации, поведение соответствует аналогичному использованию шаблона классов ISO C++ [bitset][SWS_CORE_01745]. Интерпретация: функция возвращает true, если установлен хотя бы один бит, и false, если сброшены все биты. Вопрос Q-20c2aaf905d4a338 (открытый)
В отношении использования, контекста выполнения и поведения при ошибках действуют следующие положения:
Вызов и параметры: метод вызывается без параметров на существующем экземпляре, который, например, был предварительно инициализирован через конструктор [SWS_CORE_01749]. Вызов выполняется синхронно и непосредственно возвращает результат проверки как bool[SWS_CORE_01745].
Обработка ошибок: функция объявлена как noexcept и классифицирована как безопасная относительно исключений (exception safe) [SWS_CORE_01745]. Не формируются ни коды ошибок, ни сообщения DET/DEM; сбой операции в стандарте AUTOSAR не предусмотрен.
Параллелизм: благодаря квалификатору const метод не модифицирует экземпляр [SWS_CORE_01745]. Предположительно, параллельный доступ на чтение к одному и тому же экземпляру безопасен, тогда как конкурирующие операции записи должны синхронизироваться вызывающей стороной. Вопрос Q-34893675aa85baf1 (открытый)
В контексте модуля coreany() предоставляет базовую функцию инспекции для битовых наборов, которая беспрепятственно взаимодействует с механизмами инициализации и хранения ara::core::Bitset[SWS_CORE_01745], [SWS_CORE_01749].
Данное указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR Adaptive R25-11.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4dcb196eeab8ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование и семантика
Функция-член count вызывается синхронно и без параметров для экземпляра ara::core::Bitset ([SWS_CORE_01740]). Она объявлена в заголовочном файле #include "ara/core/bitset.h" и возвращает результат подсчета в виде возвращаемого значения типа std::size_t ([SWS_CORE_01740]). Функциональное поведение соответствует ссылке [bitset] ([SWS_CORE_01740]); следовательно, значение, вероятно, соответствует общему числу установленных битов. Вопрос Q-36c593b234f55695 (открытый)
Обработка ошибок и параллелизм
Функция специфицирована как noexcept и считается exception safe ([SWS_CORE_01740]). Ни исключения не генерируются, ни коды ошибок не возвращаются, и сообщений в DET или DEM для этого элемента не предусмотрено. Поскольку count объявлена как константная функция-член (const) ([SWS_CORE_01740]), вызов не модифицирует состояние объекта. Таким образом, параллельный доступ на чтение к одному и тому же экземпляру, предположительно, может выполняться конкурентно, если отсутствуют конкурирующие операции записи. Вопрос Q-073bc3bbcb918763 (открытый)
Взаимодействие и разграничение
В пространстве имен ara::core эту функцию следует четко отделять от других элементов:
В ara::core::Map функция count служит для определения существующих ключей ([SWS_CORE_01494], [SWS_CORE_01495]), однако классифицирована как not exception safe.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 3295cd6e5b84ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Функция-член flip() класса ara::core::Bitset синхронно инвертирует состояние всех битов экземпляра в соответствии с поведением [bitset][SWS_CORE_01730]. Функция предоставляется через заголовочный файл #include "ara/core/bitset.h", не принимает параметров и возвращает lvalue-ссылку на модифицированный объект (Bitset<N>&), что позволяет объединять операции в цепочку [SWS_CORE_01730].
Обработка ошибок и безопасность исключений
Функция объявлена как noexcept и специфицирована как безопасная по отношению к исключениям («exception safe») [SWS_CORE_01730]. Ни исключения C++ не выбрасываются, ни коды ошибок не возвращаются; поэтому выполнение, вероятно, всегда происходит без ошибок. Вопрос Q-df762b6329a2c0d4 (открытый)
Взаимодействие
Модуль core определяет родственные варианты для манипуляций с битами:
Перегруженный метод flip(std::size_t pos) служит для целенаправленного инвертирования отдельного бита по индексу pos[SWS_CORE_01731]. В отличие от формы без параметров, он возвращает Result<Bitset<N>&> и сообщает о недействительных позициях через IsoStdOutOfRangeViolation[SWS_CORE_01731].
Через ссылочный класс ara::core::Bitset<N>::reference доступна функция-член flip() для инвертирования отдельного адресуемого по ссылке бита и возврата reference&[SWS_CORE_01712].
Это указание по использованию создано автоматически и опирается исключительно на спецификацию AUTOSAR Adaptive R25-11.
As per corresponding usage in [bitset] except for the following deviations: 1. The function is noexcept 2. If pos does not correspond to a valid bit position, IsoStdOutOfRangeViolation is raised instead of std::out_of_range
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: cc8134eb8cb3ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член flip класса ara::core::Bitset синхронно инвертирует состояние бита в переданной позиции pos[SWS_CORE_01731]. Она определена в заголовочном файле #include "ara/core/bitset.h" и ориентируется на поведение std::bitset::flip, однако имеет специфические функциональные отличия [SWS_CORE_01731].
Функция объявлена как noexcept, а также exception safe и в случае успеха возвращает ссылку на модифицированный bitset внутри Result<Bitset<N>&>[SWS_CORE_01731]. Если параметр pos не соответствует действительной позиции бита, то вместо C++-исключения, такого как std::out_of_range, инициируется нарушение IsoStdOutOfRangeViolation[SWS_CORE_01731].
Что касается конкурентности, вероятно, справедливо утверждение, что одновременные вызовы на одном и том же экземпляре bitset из-за отсутствия документированной синхронизации не являются потокобезопасными и должны координироваться извне. Вопрос Q-de73bb65d6aab12c (открытый)
В модуле core функция дополняет другие родственные операции: для синхронного инвертирования всех битов экземпляра доступна перегрузка без параметров flip()[SWS_CORE_01730], тогда как для объектов ссылок на биты доступен метод ara::core::Bitset::reference::flip()[SWS_CORE_01712].
Это указание по использованию было создано автоматически на основе релиза AUTOSAR Adaptive R25-11.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 08d4a9889ec9ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Функция-член none класса ara::core::Bitset служит для запроса состояния занятости битовой последовательности [SWS_CORE_01746]. Метод требует включения заголовка ara/core/bitset.h и имеет сигнатуру bool none () const noexcept;[SWS_CORE_01746]. Вызов выполняется синхронно и без параметров на существующем экземпляре. В отношении поведения спецификация ссылается на соответствующее использование в [bitset][SWS_CORE_01746]; интерпретация: метод, вероятно, возвращает true тогда и только тогда, когда ни один бит в битовой последовательности не установлен (то есть все биты равны false), и false в противном случае. Вопрос Q-de8593251c7748d5 (открытый)
Обработка ошибок и безопасность исключений
Для none не определены ни коды ошибок, ни отдельные состояния ошибок. Согласно спецификации, функция объявлена как noexcept и имеет классификацию «безопасна относительно исключений» (exception safe) [SWS_CORE_01746]. Таким образом, в случае ошибки или во время выполнения исключения C++ не возникают.
Параллелизм и ограничения
Поскольку none объявлена как const[SWS_CORE_01746], вызов метода не модифицирует внутреннее состояние объекта. Поэтому параллельные операции чтения на одном и том же объекте Bitset, вероятно, являются безопасными при параллелизме и реэ enterабельными при условии, что для того же экземпляра не выполняются параллельные модифицирующие операции записи. Вопрос Q-cf92e9abf57e9678 (открытый)
Данное указание по использованию было автоматически сгенерировано ИИ-ассистентом и основано на требованиях спецификации.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 0868e1227ad2ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член reset() сбрасывает состояние экземпляра ara::core::Bitset согласно спецификации [SWS_CORE_01727]. Функция предоставляется через заголовочный файл #include "ara/core/bitset.h" и имеет сигнатуру Bitset<N>& reset() noexcept;.
Использование и семантика
Функция не принимает параметров и работает синхронно на вызывающем объекте. В силу указанной отсылки к стандартному использованию в [bitset] вызов, вероятно, сбрасывает все содержащиеся биты в false (или 0) и возвращает ссылку на собственный экземпляр bitset (*this), что обеспечивает возможность объединения методов в цепочку. Вопрос Q-89116316a65e0772 (открытый)
Обработка ошибок и безопасность исключений
Согласно [SWS_CORE_01727], функция объявлена как noexcept и имеет классификацию «exception safe». Поскольку, в отличие от параметризованной перегрузки, проверка индекса не требуется, у версии без параметров состояния ошибок или коды ошибок не возникают.
Взаимодействие и разграничение
В той же области видимости ara::core::Bitset существует перегрузка reset(std::size_t pos) согласно [SWS_CORE_01728]. Она сбрасывает строго один отдельный бит, однако возвращает Result<Bitset<N>&> и сообщает о IsoStdOutOfRangeViolation, если pos недопустим.
Одноименные функции существуют в модуле core также для ara::core::Optional согласно [SWS_CORE_01136] и ara::core::Optional<T&> согласно [SWS_CORE_01165] из #include "ara/core/optional.h", которые отбрасывают содержащееся значение и имеют тип возвращаемого значения void.
Этот текст сгенерирован ИИ и служит в качестве ориентировочного руководства. Обязательную силу имеют исключительно спецификации стандарта AUTOSAR.
As per corresponding usage in [bitset] except for the following deviations: 1. The function is noexcept 2. If pos does not correspond to a valid bit position, IsoStdOutOfRangeViolation is raised instead of std::out_of_range
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6ee8bcd28b61ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член reset класса ara::core::Bitset синхронно сбрасывает отдельный бит в заданной позиции pos в значение 0 [SWS_CORE_01728]. Функция следует поведению std::bitset, однако имеет два существенных отличия: она объявлена как noexcept и возвращает результат в Result<Bitset<N>&>, чтобы отражать ошибочные ситуации без исключений C++ [SWS_CORE_01728].
Обработка ошибок
Если переданный индекс pos не соответствует допустимой позиции бита внутри bitset, вместо std::out_of_range генерируется нарушение IsoStdOutOfRangeViolation[SWS_CORE_01728]. В случае ошибки оно предоставляется как состояние ошибки в возвращаемом объекте Result, благодаря чему операция остается безопасной относительно исключений, несмотря на недопустимое значение параметра [SWS_CORE_01728].
Взаимодействие и разграничение
В модуле core для ara::core::Bitset дополнительно существует перегрузка без параметров reset(), которая сбрасывает все биты контейнера за один раз и напрямую возвращает ссылку на объект [SWS_CORE_01727]. Кроме того, родственные требования [SWS_CORE_01136] и [SWS_CORE_01165] определяют метод с тем же именем для ara::core::Optional, который отбрасывает содержащееся там значение.
Параллелизм
Поскольку reset изменяет внутреннее состояние bitset, параллельный вызов на одном и том же экземпляре без внешней синхронизации, вероятно, не является потокобезопасным (интерпретация: перенос обычной семантики контейнеров C++). Вопрос Q-e2e1c041eadedf0f (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 69ac29c94b17ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Синхронная функция-член set() класса ara::core::Bitset устанавливает все содержащиеся биты объекта в значение true ([SWS_CORE_01725]). По поведению она соответствует принципу работы std::bitset из стандарта ISO C++ и доступна через заголовочный файл ara/core/bitset.h ([SWS_CORE_01725]). Вызов метода выполняется без параметров и возвращает lvalue-ссылку на модифицированный bitset (Bitset<N>&) ([SWS_CORE_01725]), что позволяет напрямую выстраивать цепочки дальнейших вызовов на том же экземпляре.
Операция объявлена как noexcept и обладает свойством exception safe ([SWS_CORE_01725]). Поскольку она итерирует по всем битам или устанавливает общее состояние, в отличие от позиционного доступа ошибки выхода за границы диапазона не возникают. Касательно потокобезопасности спецификация не содержит утверждений; интерпретация: поскольку состояние объекта изменяется напрямую, параллельный доступ к одному и тому же экземпляру Bitset без внешней защиты, вероятно, не является конкурентно- или потокобезопасным. Вопрос Q-f8c1b5721f668193 (открытый)
Во взаимодействии внутри модуля core функция дополняет перегруженный вариант set(std::size_t, bool) ([SWS_CORE_01726]). В то время как версия без параметров гарантированно успешно устанавливает всё поле, параметризованная версия целенаправленно модифицирует отдельный бит, возвращает тип Result<Bitset<N>&> и сообщает через IsoStdOutOfRangeViolation, если передан недопустимый позиционный индекс ([SWS_CORE_01726]).
Данное указание по использованию основано на спецификации AUTOSAR Adaptive для релиза R25-11 и создано автоматически.
As per corresponding usage in [bitset] except for the following deviations: 1. The function is noexcept 2. If pos does not correspond to a valid bit position, IsoStdOutOfRangeViolation is raised instead of std::out_of_range
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 78b604750828Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член set класса ara::core::Bitset модифицирует бит в указанной позиции pos на значение val согласно [SWS_CORE_01726]. Функция объявлена в заголовочном файле #include "ara/core/bitset.h" и работает синхронно, а также безопасно относительно исключений.
По сравнению со стандартным поведением std::bitset функция имеет два существенных отличия ([SWS_CORE_01726]):
Функция объявлена как noexcept и не генерирует исключений C++.
Если pos не соответствует допустимой позиции бита, вызывается IsoStdOutOfRangeViolation вместо std::out_of_range.
В качестве возвращаемого значения предоставляется Result<Bitset<N>&> ([SWS_CORE_01726]). В случае успеха Result содержит ссылку на модифицированный объект bitset. Если pos находится за пределами допустимого диапазона, Result передаёт соответствующее нарушение в виде ошибки.
В отличие от варианта без параметров set() ([SWS_CORE_01725]), который устанавливает все биты и напрямую возвращает Bitset<N>&, эта позиционная перегрузка требует проверки объекта Result для обработки ошибок диапазона ([SWS_CORE_01726]).
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R25-11.
As per corresponding usage in [bitset] except for the following deviations: 1. The function is noexcept 2. If pos does not correspond to a valid bit position, IsoStdOutOfRangeViolation is raised instead of std::out_of_range
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: d1ea13b75993ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Синхронная функция-член test класса ara::core::Bitset проверяет состояние бита в переданной позиции pos согласно [SWS_CORE_01743]. В качестве параметра вызова передается требуемая позиция бита pos типа std::size_t. Функция синхронно возвращает значение типа bool, где true указывает на то, что бит установлен, а false — на то, что он не установлен. Для подключения и использования этой функции в модуле Core платформы Adaptive необходимо включить заголовочный файл ara/core/bitset.h[SWS_CORE_01743].
Обработка ошибок и отклонения
Функциональное поведение в целом следует семантике std::bitset, однако имеет два существенных системно-специфических отличия [SWS_CORE_01743]:
Сигнатура объявлена как noexcept и гарантирует полную безопасность исключений (exception safe) [SWS_CORE_01743].
Если позиция бита pos не соответствует допустимой позиции бита внутри объекта, вместо исключения типа std::out_of_range инициируется нарушение IsoStdOutOfRangeViolation[SWS_CORE_01743]. Его описание ориентировано на описание std::out_of_range[SWS_CORE_01743].
Параллелизм и ограничения
Поскольку функция специфицирована как const, она не модифицирует экземпляр. Поэтому многократный параллельный доступ на чтение к одному и тому же экземпляру bitset при штатной работе, предположительно, может выполняться без конфликтов данных (интерпретация). Вопрос Q-585dbdfefac63391 (открытый) Если одновременно выполняются модификации на запись того же экземпляра, вызывающей стороне, вероятно, потребуется внешняя синхронизация.
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.
As per corresponding usage in [bitset] except for the following deviations: 1. Template arguments have been adapted to ara::core::BasicString in place of std:: basic_string
[AUTOSAR defined] not present in ISO-14882. Converts the contents of the bitset to a std:: uint16_t from [SWS_APT_00025]
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6284644210b2ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член to_uint16t класса ara::core::Bitset преобразует содержимое bitset в целочисленное значение типа std::uint16_t ([SWS_CORE_01737], [SWS_APT_00025]). Она представляет собой специфическое для AUTOSAR расширение и не содержится в стандарте ISO C++ ISO-14882 ([SWS_CORE_01737]). Синхронный вызов предоставляется через заголовочный файл ara/core/bitset.h ([SWS_CORE_01737]).
В сформированном возвращаемом значении первый бит bitset соответствует младшему значащему биту (least significant bit), а последний бит — старшему значащему биту (most significant bit) числа ([SWS_CORE_01737]). Поскольку метод специфицирован как constexpr, его можно вычислять и на этапе компиляции для константных экземпляров ([SWS_CORE_01737]).
Операция специфицирована как thread-safe, а также exception safe ([SWS_CORE_01737]). Если значение битов не может быть представлено в диапазоне значений std::uint16_t, возникает IsoStdOverflowErrorViolation ([SWS_CORE_01737]). Интерпретация: из-за объявления noexcept это нарушение, вероятно, не будет сообщаться через обычные исключения C++, а приведет к обработке через платформенно-зависимые механизмы для violations. Вопрос Q-785057e36fb7e434 (открытый)
Это указание по использованию было сгенерировано автоматически и основано на спецификации AUTOSAR R25-11.
IsoStdOverflowEr- If the integral value x corresponding to the bits in the bitset cannot rorViolation be represented as the return type
Rückgabewert
Typ
Beschreibung
std::uint16_t
The bits in the bitset, whereby the first bit of the bitset corresponds to the least significant bit of the returned number and the last bit corresponds to the most significant bit
Request a governed re-review of this record. The record is not changed immediately.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: a8e87f48809eПроисхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование и семантика
Метод to_uint32t представляет собой синхронную функцию-член без параметров класса ara::core::Bitset, которая предоставляется через заголовочный файл ara/core/bitset.h[SWS_CORE_01738]. Он преобразует биты экземпляра bitset в беззнаковое 32-битное целочисленное значение типа std::uint32_t[SWS_CORE_01738]. Функция не входит в ISO-14882, а определена как специфичный для AUTOSAR псевдоним для ara::core::Bitset::to_ulong, который явно использует тип данных std::uint32_t из [SWS_APT_00028][SWS_CORE_01738]. При отображении битовой последовательности первый бит bitset соответствует младшему значащему биту (least significant bit) возвращаемого значения, а последний бит — старшему значащему биту (most significant bit) [SWS_CORE_01738].
Обработка ошибок и граничные условия
Для случая ошибки спецификация определяет нарушение IsoStdOverflowErrorViolation, которое возникает, когда целочисленное значение, соответствующее установленным битам, не может быть представлено в диапазоне значений возвращаемого типа [SWS_CORE_01738].
Параллелизм и контекст выполнения
Функция объявлена с constexpr и noexcept[SWS_CORE_01738]. В отношении безопасности выполнения она специфицирована как потокобезопасная (thread-safe), а также как безопасная относительно исключений (exception safe) [SWS_CORE_01738].
Это указание по использованию было сгенерировано автоматически на основе спецификации.
IsoStdOverflowEr- If the integral value x corresponding to the bits in the bitset cannot rorViolation be represented as the return type
Rückgabewert
Typ
Beschreibung
std::uint32_t
The bits in the bitset, whereby the first bit of the bitset corresponds to the least significant bit of the returned number and the last bit corresponds to the most significant bit
Request a governed re-review of this record. The record is not changed immediately.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 305531790779Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Функция-член to_uint64t класса ara::core::Bitset синхронно преобразует содержащиеся в bitset биты в целочисленное значение типа std::uint64_t ([SWS_CORE_01739]). Операция является специфичным для AUTOSAR расширением и не определена в ISO-14882 ([SWS_CORE_01739]). Она выступает в качестве псевдонима для метода ara::core::Bitset::to_ullong, но при этом обязательно и явно использует тип std::uint64_t согласно [SWS_APT_00031] ([SWS_CORE_01739]). Объявление предоставляется через заголовочный файл #include "ara/core/bitset.h" ([SWS_CORE_01739]).
Для побитового отображения возвращаемого значения действует правило, согласно которому первый бит bitset соответствует младшему значащему биту (least significant bit) сформированного значения, а последний бит присваивается старшему значащему биту (most significant bit) ([SWS_CORE_01739]). Благодаря квалификации как constexpr вычисление может выполняться как во время выполнения, так и во время компиляции в константных выражениях ([SWS_CORE_01739]).
Обработка ошибок и параллелизм
В отношении безопасности выполнения функция объявлена с noexcept, классифицирована как безопасная относительно исключений (exception safe) и может вызываться без ограничений потокобезопасно (thread-safe) ([SWS_CORE_01739]). Если целочисленное значение, соответствующее битам, не может быть представлено в целевом типе, возникает ошибочная ситуация IsoStdOverflowErrorViolation ([SWS_CORE_01739]). Интерфейс удовлетворяет вышестоящему требованию [RS_AP_00130].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR.
IsoStdOverflowEr- If the integral value x corresponding to the bits in the bitset cannot rorViolation be represented as the return type
Rückgabewert
Typ
Beschreibung
std::uint64_t
The bits in the bitset, whereby the first bit of the bitset corresponds to the least significant bit of the returned number and the last bit corresponds to the most significant bit
Request a governed re-review of this record. The record is not changed immediately.
[AUTOSAR defined] not present in ISO-14882. Converts the contents of the bitset to a std:: uint8_t from [SWS_APT_00022]
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9502dfbaed0eПроисхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Функция-член to_uint8t класса ara::core::Bitset синхронно преобразует сохраненное содержимое bitset в 8-разрядное беззнаковое целое число типа std::uint8_t согласно [SWS_CORE_01736] и [SWS_APT_00022]. Это специфическое для AUTOSAR расширение функциональности, отсутствующее в стандарте ISO-14882 [SWS_CORE_01736]. Функция предоставляется через заголовочный файл ara/core/bitset.h, не имеет параметров, а также объявлена как constexpr и noexcept[SWS_CORE_01736]. При этом первый бит битовой последовательности соответствует младшему значащему биту (LSB), а последний бит — старшему значащему биту (MSB) возвращаемого значения [SWS_CORE_01736].
Обработка ошибок
Если целочисленное значение, соответствующее битам в bitset, не может быть представлено в целевом типе std::uint8_t, имеет место нарушение IsoStdOverflowErrorViolation[SWS_CORE_01736]. Несмотря на объявление noexcept, с точки зрения безопасности исключений функция специфицирована как exception safe[SWS_CORE_01736].
Параллелизм и взаимодействие
Будучи константной функцией-членом, to_uint8t явно объявлена как thread-safe[SWS_CORE_01736], так что параллельные операции чтения нескольких потоков к одному и тому же экземпляру безопасны. Представление целевого типа ориентируется на определение из [SWS_APT_00022].
Это указание по использованию было создано автоматически на основе спецификации AUTOSAR Adaptive Release R25-11.
IsoStdOverflowEr- If the integral value x corresponding to the bits in the bitset cannot rorViolation be represented as the return type
Rückgabewert
Typ
Beschreibung
std::uint8_t
The bits in the bitset, whereby the first bit of the bitset corresponds to the least significant bit of the returned number and the last bit corresponds to the most significant bit
Request a governed re-review of this record. The record is not changed immediately.
constexpr unsigned long long to_ullong () const noexcept;
As per corresponding usage in [bitset] except for the following deviations: 1. Function is constexpr 2. The function is noexcept 3. If the integral value x corresponding to the bits in the bitset cannot be represented as the return type, IsoStdOverflowErrorViolation is raised instead of std:: overflow_error
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 80c15d0568edПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член to_ullong класса ara::core::Bitset синхронно преобразует сохраненную последовательность битов в целочисленное значение типа unsigned long long[SWS_CORE_01735]. Она определена в заголовочном файле #include "ara/core/bitset.h" и, в отличие от стандарта ISO std::bitset, объявлена как constexpr, а также noexcept[SWS_CORE_01735].
В отношении обработки ошибок и поведения при исключениях действуют следующие положения:
Обработка переполнения: если целочисленное значение, представленное установленными битами, не может быть отображено в возвращаемом типе, вместо исключения std::overflow_error инициируется нарушение IsoStdOverflowErrorViolation[SWS_CORE_01735].
Безопасность исключений: функция классифицирована как exception safe и в силу спецификации noexcept не генерирует исключений C++ [SWS_CORE_01735].
Во взаимодействии с другими интерфейсами AUTOSAR Adaptive предоставляет посредством to_uint64t типизированную альтернативу, которая действует как прямой псевдоним для to_ullong, однако явно возвращает тип фиксированной ширины std::uint64_t[SWS_CORE_01739]. В обоих случаях первый бит bitset соответствует младшему значащему биту (LSB), а последний бит — старшему значащему биту (MSB) результирующего числового значения [SWS_CORE_01739]. Поскольку to_ullong является константной функцией-членом, а функциональный эквивалент специфицирован как thread-safe, параллельный считывающий вызов для одного и того же экземпляра, по всей видимости, также является потокобезопасным [SWS_CORE_01739]. Вопрос Q-075766fabc193ce8 (открытый)
Это указание по использованию создано автоматически и основано на текущей версии спецификации AUTOSAR Adaptive R25-11.
constexpr unsigned long to_ulong () const noexcept;
As per corresponding usage in [bitset] except for the following deviations: 1. Function is constexpr 2. The function is noexcept 3. If the integral value x corresponding to the bits in the bitset cannot be represented as the return type, IsoStdOverflowErrorViolation is raised instead of std:: overflow_error
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 58ed0033ea8eПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Функция-член ara::core::Bitset::to_ulong синхронно преобразует установленные биты экземпляра bitset в целочисленное значение типа unsigned long[SWS_CORE_01734]. Функция требует заголовочный файл ara/core/bitset.h и относится к области видимости класса ara::core::Bitset[SWS_CORE_01734]. Благодаря объявлению с сигнатурой constexpr unsigned long to_ulong() const noexcept; вычисление может выполняться как во время выполнения, так и уже на этапе компиляции в константных выражениях [SWS_CORE_01734].
В поведении при ошибках функция существенно отличается от стандарта ISO std::bitset: если целочисленное значение, соответствующее битам, не может быть представлено в возвращаемом типе unsigned long, вместо исключения типа std::overflow_error инициируется IsoStdOverflowErrorViolation[SWS_CORE_01734]. Несмотря на это условие нарушения, функция объявлена как noexcept и формально считается безопасной относительно исключений (exception safe) [SWS_CORE_01734].
Во взаимодействии с другими функциями преобразования AUTOSAR Adaptive предоставляет с to_uint32t прямой аналог, который выступает в качестве псевдонима для to_ulong, однако с точностью до типа возвращает std::uint32_t[SWS_CORE_01738]. Что касается параллелизма, метод, предположительно, является потокобезопасным при одновременном доступе на чтение к одному и тому же bitset (интерпретация), поскольку он определен как const, а соответствующее требование to_uint32t явно обозначено как thread-safe [SWS_CORE_01738]. Вопрос Q-59f95b86801a697d (открытый)
Это указание по использованию было создано автоматически на основе спецификации AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал