DEENESPTFRRUARHIKOZHNL

classe 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

Guia do utilizadorGERADO POR IA

Serve como objeto proxy para o acesso de escrita e a inversão de bits individuais em um bitset.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9b7177bcd0af Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve como objeto proxy para o acesso de escrita e a inversão de bits individuais em um bitset.

A classe auxiliar ara::core::Bitset::reference atua como tipo proxy para o acesso semelhante a lvalue a bits individuais de um ara::core::Bitset. Ela permite a modificação direcionada do valor de bit referenciado, em particular sua inversão por meio da função de membro flip() de acordo com [SWS_CORE_01712]. Pela declaração de flip() como noexcept, a operação é garantidamente segura contra exceções [SWS_CORE_01712]. Como condição de contorno essencial, o objeto proxy permanece válido, por interpretação, apenas durante o tempo de vida do contêiner envolvente.

Contexto

A classe auxiliar aninhada ara::core::Bitset::reference atua dentro do módulo core da AUTOSAR Adaptive Platform como objeto proxy para o acesso a bits individuais em um ara::core::Bitset. Como bits individuais não possuem endereço de memória próprio no sistema de tipos do C++ e, portanto, não podem ser mapeados diretamente como uma referência nativa (bool&), reference implementa o conceito de std::bitset::reference do padrão C++ [bitset]. A classe serve como intermediária entre o código chamador e a memória de bits interna do contêiner ara::core::Bitset. Ela permite que os desenvolvedores tratem um bit individual sintática e semanticamente como uma referência modificável, mapeando operações no proxy diretamente para o bit subjacente no bitset. Um elemento essencial dessa interface é a função de membro flip() de acordo com [SWS_CORE_01712], que disponibiliza uma inversão direta de estado do bit endereçado.

Ciclo de vida

Instâncias de ara::core::Bitset::reference possuem tipicamente um caráter de curta duração. A criação não ocorre, por interpretação, como um objeto avulso pelo desenvolvedor da aplicação, mas é iniciada internamente pelos mecanismos de acesso não constante do contêiner ara::core::Bitset quando um acesso como lvalue a uma determinada posição de bit é solicitado. O objeto proxy criado vincula-se logicamente à posição de bit específica e à área de memória subjacente do contêiner. O tempo de vida da instância de reference fica, assim, estritamente acoplado à existência do objeto Bitset envolvente: se o Bitset referenciado for destruído ou sua memória se tornar inválida, um acesso posterior por meio do objeto proxy presumivelmente resultará em comportamento indefinido (Dangling Reference). Após a conclusão de operações como a inversão de bits por meio de flip() de acordo com [SWS_CORE_01712], o objeto temporário é geralmente descartado de imediato. Em relação à concorrência, deve-se observar que acessos simultâneos de escrita a bits diferentes ou idênticos do mesmo contêiner por meio de instâncias reference separadas presumivelmente não são thread-safe sem sincronização externa. Pergunta Q-44ce3478c9a2d987 (aberta)

Caminho de utilização

O caso de uso primário de ara::core::Bitset::reference consiste na consulta e modificação direcionadas de valores de bits individuais. No fluxo típico, um chamador acessa uma posição de bit em ara::core::Bitset por meio do operador de índice, retornando um objeto temporário reference. Operações modificadoras podem agora ser realizadas sobre essa referência. Especificamente para a inversão do valor do bit, a classe disponibiliza a função de membro flip(), que é especificada de acordo com [SWS_CORE_01712]. Esse método inverte o estado atual do bit referenciado (0 torna-se 1, 1 torna-se 0) e retorna uma referência lvalue para o próprio objeto proxy (reference&). Isso permite um encadeamento de chamadas adicionais ou a reutilização direta do resultado modificado.

Inversão de um bit via reference::flipAnwenderara::core::Bitsetara::core::Bitset::referenceoperator[](pos)reference-Instanzflip()Inverter estado do bit na posição posreference& (*this)

Diagrama de sequência: Fluxo típico da inversão de bit por meio do objeto proxy reference. Fontes: [SWS_CORE_01712]

Cenários de erro

A classe ara::core::Bitset::reference destaca-se por um design voltado para robustez e desempenho. Para a função de membro central flip(), a segurança contra exceções "exception safe" bem como o identificador noexcept são explicitamente estabelecidos de acordo com [SWS_CORE_01712]. Isso significa que a chamada de flip() garantidamente não lança exceções C++. Estados de erro ou tratamentos de exceção não ocorrem, portanto, nesta chamada; a pré-condição para a execução livre de falhas é a validade da referência subjacente ao objeto de contêiner.

Este guia foi elaborado por uma IA com base na especificação da AUTOSAR para a Adaptive Platform (Release R25-11).

Diagrama de classes UML

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

G nara__core__Bitset__reference533 reference + flip()

Métodos

flip função

≙ [bitset]

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

Documentação dos métodos

função flip [SWS_CORE_01712] Upstream: RS_AP_00130

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

As per corresponding usage in [bitset]

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 717c5ca36cdd Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

A função-membro síncrona flip da classe proxy ara::core::Bitset::reference serve para inverter o bit atualmente referenciado [SWS_CORE_01712]. Ela é declarada através do ficheiro de cabeçalho ara/core/bitset.h. A chamada é feita sem parâmetros diretamente numa instância de referência existente. Como valor de retorno, a função retorna uma referência ao objeto reference modificado (reference&). Interpretação: De acordo com a indicação da especificação «As per corresponding usage in [bitset]», o comportamento deve corresponder ao de std::bitset::reference::flip, pelo que o valor do bit é negado e *this é retornado. Pergunta Q-23d82576a1b93125 (aberta)

Tratamento de erros e segurança contra exceções

A interface está declarada como noexcept e especificada como segura contra exceções (exception safe) [SWS_CORE_01712]. Estados de erro ou códigos de erro específicos não ocorrem, uma vez que não são passados parâmetros e não são necessárias verificações de limites.

Interação no módulo

Dentro de ara::core::Bitset, a função complementa as restantes operações de inversão do módulo:

  • ara::core::Bitset::reference::flip inverte especificamente o bit individual endereçado através da referência [SWS_CORE_01712].
  • ara::core::Bitset::flip() inverte sincronamente todos os bits de todo o bitset sem parâmetros e retorna uma referência ao bitset [SWS_CORE_01730].
  • ara::core::Bitset::flip(std::size_t pos) inverte o bit na posição de índice pos e retorna um Result, que falha com IsoStdOutOfRangeViolation em caso de índice inválido [SWS_CORE_01731].

Este texto foi criado e selecionado por uma IA.

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#9992d558
Content hash
9992d558
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