DEENESPTFRRUARHIKOZHNL

класс ara::core::Bitset::reference

[SWS_CORE_01759]

class reference {...};

Implements std::bitset::reference type from [bitset]

Header-Datei#include "ara/core/bitset.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopeclass ara::core::Bitset

Руководство пользователяСОЗДАНО ИИ

Служит прокси-объектом для доступа по записи и инвертирования отдельных битов в bitset.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9b7177bcd0af Происхождение Открытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Служит прокси-объектом для доступа по записи и инвертирования отдельных битов в bitset.

Вспомогательный класс ara::core::Bitset::reference функционирует как прокси-тип для доступа по типу lvalue к отдельным битам ara::core::Bitset. Он обеспечивает целенаправленную модификацию адресуемого значения бита, в частности его инвертирование с помощью функции-члена flip() согласно [SWS_CORE_01712]. Благодаря объявлению flip() как noexcept операция гарантированно является исключение-безопасной [SWS_CORE_01712]. В качестве важного граничного условия, согласно интерпретации, прокси-объект остается действительным только в течение времени жизни объемлющего контейнера.

Контекст

Вложенный вспомогательный класс ara::core::Bitset::reference функционирует в рамках модуля core платформы AUTOSAR Adaptive Platform как прокси-объект для доступа к отдельным битам в ara::core::Bitset. Поскольку отдельные биты в системе типов C++ не имеют самостоятельного адреса памяти и, следовательно, не могут быть напрямую представлены в виде нативной ссылки (bool&), reference реализует концепцию std::bitset::reference из стандарта C++ [bitset]. Класс выступает посредником между вызывающим кодом и внутренним битовым хранилищем контейнера ara::core::Bitset. Он позволяет разработчикам синтаксически и семантически работать с отдельным битом как с модифицируемой ссылкой за счет того, что операции над прокси напрямую проецируются на лежащий в основе бит в bitset. Важным компонентом этого интерфейса является функция-член flip() согласно [SWS_CORE_01712], которая обеспечивает прямое инвертирование состояния адресуемого бита.

Жизненный цикл

Экземпляры ara::core::Bitset::reference обычно носят кратковременный характер. Согласно интерпретации, создание выполняется не как отдельно стоящий объект разработчиком приложения, а инициируется внутренне неконстантными механизмами доступа контейнера ara::core::Bitset при запросе lvalue-доступа к определенной битовой позиции. Созданный прокси-объект логически связывается с конкретной битовой позицией и лежащей в основе областью памяти контейнера. Таким образом, время жизни экземпляра reference строго связано с существованием объемлющего объекта Bitset: если адресуемый Bitset уничтожается или его память становится недействительной, последующий доступ через прокси-объект, вероятно, приведет к неопределенному поведению (висячая ссылка / dangling reference). Вопрос Q-44ce3478c9a2d987 (открытый) После завершения операций, таких как инвертирование бита с помощью flip() согласно [SWS_CORE_01712], временный объект, как правило, сразу уничтожается. Что касается параллелизма, следует учитывать, что одновременный доступ по записи к различным или идентичным битам одного и того же контейнера через отдельные экземпляры reference без внешней синхронизации, вероятно, не является потокобезопасным.

Путь использования

Основной сценарий использования ara::core::Bitset::reference заключается в целенаправленном считывании и модификации отдельных значений битов. В типичном сценарии вызывающая сторона обращается к битовой позиции в ara::core::Bitset через оператор индексации, в результате чего возвращается временный объект reference. Для этой ссылки теперь могут выполняться модифицирующие операции. Специально для инвертирования значения бита класс предоставляет функцию-член flip(), которая специфицирована согласно [SWS_CORE_01712]. Этот метод инвертирует текущее состояние адресуемого бита (0 становится 1, 1 становится 0) и возвращает lvalue-ссылку на сам прокси-объект (reference&). Это позволяет объединять последующие вызовы в цепочку или напрямую использовать модифицированный результат далее.

Инвертирование бита через reference::flipAnwenderara::core::Bitsetara::core::Bitset::referenceoperator[](pos)reference-Instanzflip()Инвертировать состояние бита в позиции posreference& (*this)

Диаграмма последовательности: типичный процесс инвертирования бита через прокси-объект reference. Источники: [SWS_CORE_01712]

Сценарии ошибок

Класс ara::core::Bitset::reference характеризуется архитектурой, рассчитанной на надежность и производительность. Для центральной функции-члена flip() согласно [SWS_CORE_01712] явно заданы безопасность исключений «exception safe», а также идентификатор noexcept. Это означает, что вызов flip() гарантированно не генерирует исключений C++. Таким образом, состояния ошибок или обработка исключений при этом вызове не возникают; предусловием для безошибочного выполнения является действительность лежащей в основе ссылки на объект контейнера.

Это руководство было создано ИИ на основе спецификации AUTOSAR для Adaptive Platform (выпуск R25-11).

UML-диаграмма классов

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__core__Bitset__reference533 reference + flip()

Методы

flip функция

≙ [bitset]

reference & ara::core::Bitset< N >::reference::flip () noexcept;

Документация методов

функция flip [SWS_CORE_01712] Upstream: RS_AP_00130

reference & ara::core::Bitset< N >::reference::flip () noexcept;

As per corresponding usage in [bitset]

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 717c5ca36cdd Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Синхронная функция-член flip прокси-класса ara::core::Bitset::reference служит для инвертирования текущего адресуемого по ссылке бита [SWS_CORE_01712]. Она объявлена через заголовочный файл ara/core/bitset.h. Вызов выполняется без параметров непосредственно на существующем экземпляре ссылки. В качестве возвращаемого значения функция возвращает ссылку на модифицированный объект reference (reference&). Интерпретация: согласно указанию спецификации «As per corresponding usage in [bitset]» поведение, вероятно, соответствует поведению std::bitset::reference::flip, в результате чего значение бита инвертируется и возвращается *this. Вопрос Q-23d82576a1b93125 (открытый)

Обработка ошибок и безопасность исключений

Интерфейс объявлен как noexcept и специфицирован как безопасный по отношению к исключениям (exception safe) [SWS_CORE_01712]. Специфические состояния ошибок или коды ошибок не возникают, так как параметры не передаются и проверки диапазона не требуются.

Взаимодействие в модуле

Внутри ara::core::Bitset функция дополняет остальные операции инвертирования модуля:

  • ara::core::Bitset::reference::flip целенаправленно переключает отдельный бит, адресуемый через ссылку [SWS_CORE_01712].
  • ara::core::Bitset::flip() синхронно инвертирует все биты всего bitset без параметров и возвращает ссылку на bitset [SWS_CORE_01730].
  • ara::core::Bitset::flip(std::size_t pos) обращает бит в позиции индекса pos и возвращает Result, завершающийся в случае недействительного индекса ошибкой с IsoStdOutOfRangeViolation [SWS_CORE_01731].

Этот текст был создан и подготовлен с помощью ИИ.

Header-Datei#include "ara/core/bitset.h"
Scopeclass ara::core::Bitset::reference
Exception-Sicherheitexception safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_01712
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01712@rel:R25-11#780c2152
Content hash
780c2152
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01712
Status: valid/unmigrated Version: rel:R25-11#aa62487c Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_01712@rel:R25-11#aa62487c
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill