DEENESPTFRRUARHIKOZHNL

클래스 ara::per::ReadWriteAccessor

[SWS_PER_00343] Upstream: RS_PER_00004, RS_AP_00122, RS_AP_00146

class ReadWriteAccessor final :               public ReadAccessor, public WriteAccessor {...};

ReadWriteAccessor is used to read and write file data. It combines the capabilities of the ReadAccessor with the WriteAccessor.

Header-Datei#include "ara/per/read_write_accessor.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
Basisklasse(n)ReadAccessor, WriteAccessor

사용자 가이드AI 생성

공통 액세스 인터페이스를 통해 파일 데이터의 결합된 읽기 및 쓰기를 가능하게 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 6c41c48fc5a7 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

공통 액세스 인터페이스를 통해 파일 데이터의 결합된 읽기 및 쓰기를 가능하게 합니다.

클래스 ara::per::ReadWriteAccessor은(는) AUTOSAR Adaptive Platform에서 공통 객체를 통한 파일 데이터 읽기 및 쓰기를 가능하게 하기 위해 ReadAccessor 및 WriteAccessor의 인터페이스를 결합합니다. 기본 생성자는 명시적으로 삭제되었으므로 이를 통한 직접 인스턴스화는 허용되지 않습니다 [SWS_PER_00462]. 인스턴스 소멸 시 noexcept(으)로 선언된 소멸자는 완전한 예외 안전성을 보장하지만 명시적으로 스레드 안전하지 않은 것으로 명시되어 있으므로 동기화된 액세스가 필요합니다 [SWS_PER_00598].

컨텍스트

클래스 ara::per::ReadWriteAccessor은(는) AUTOSAR Adaptive Platform의 모듈 per(Persistency)에서 파일 데이터를 읽고 쓰는 핵심 인터페이스를 나타냅니다. 이 클래스는 기본 클래스 ReadAccessor 및 WriteAccessor의 기능을 통합하여 개별 읽기 및 쓰기 액세스 기능을 묶습니다. 클래스 선언은 헤더 파일 ara/per/read_write_accessor.h을(를) 통해 이루어집니다 [SWS_PER_00462].

타입 아키텍처에서 ReadWriteAccessor은(는) 다중 상속을 통해 ReadAccessor 및 WriteAccessor의 하위 클래스로 정의되며 식별자 final(으)로 표시되어 있습니다. 이는 애플리케이션 개발자에 의한 추가 파생을 방지하고 결합된 액세스 시맨틱이 변경되지 않도록 보장합니다. 따라서 두 특수화된 기본 클래스가 상호 작용 파트너로 작동하며 이들의 공통 인터페이스 계약은 파일에 대한 단일 액세스 계층에 투영됩니다.

diag_kontext ReadWriteAccessor ReadWriteAccessor ReadAccessor ReadAccessor ReadWriteAccessor->ReadAccessor erbt von WriteAccessor WriteAccessor ReadWriteAccessor->WriteAccessor erbt von

컨텍스트 다이어그램: ReadWriteAccessor, ReadAccessor 및 WriteAccessor 간의 상속 계층 구조 및 역할 관계. 출처: [SWS_PER_00462], [SWS_PER_00598]

수명 주기

ara::per::ReadWriteAccessor 인스턴스의 라이프사이클은 엄격한 구조적 지침의 적용을 받습니다. [SWS_PER_00462]에 따르면 매개변수가 없는 기본 생성자는 명시적으로 삭제되었습니다(ReadWriteAccessor() = delete;). 따라서 컨텍스트나 매개변수가 없는 직접 생성은 허용되지 않습니다. 아키텍처 관점(해석)에서 볼 때 파일이 결합된 읽기 및 쓰기 작업을 위해 열리자마자 이 클래스의 인스턴스는 일반적으로 Persistency 하위 시스템의 상위 관리 기능이나 생성 메커니즘에 의해 제공될 것으로 추정됩니다. 질문 Q-9b390ab33102d524 (열림)

인스턴스 해제는 final 및 noexcept(으)로 선언된 소멸자 ~ReadWriteAccessor()을(를) 통해 이루어집니다 [SWS_PER_00598]. 객체 라이프사이클의 종료는 동시성과 관련하여 특별한 주의가 필요합니다. 소멸자는 사양에서 명시적으로 스레드 안전하지 않음("not thread-safe")으로 분류되어 있습니다 [SWS_PER_00598]. 따라서 호출 소프트웨어는 객체가 소멸되는 동안 동일한 인스턴스에 대한 병렬 읽기 또는 쓰기 작업이 발생하지 않도록 보장해야 합니다. 해석에 따르면 소멸자는 유효 범위를 질서 있게 벗어날 때 열린 파일 기술자를 닫고 남아 있는 내부 상태를 정리하는 역할을 담당할 것으로 보입니다. 질문 Q-49e2fdfd53789afd (열림)

소유권 관계와 관련하여 객체는 일반적으로 사용하는 컴포넌트의 로컬 유효 범위에 위치하거나 포인터 구조를 통해 관리됩니다. 동시 수정 및 소멸이 보호되지 않으므로 인스턴스는 (해석) 동시 실행 컨텍스트 간에 보호되지 않은 채로 공유되어서는 안 될 것으로 보입니다. 질문 (열림)

오류 시나리오

ara::per::ReadWriteAccessor 사용 시의 오류 상황은 특정 사전 조건 및 사후 조건을 통해 컴파일 타임뿐만 아니라 런타임에서도 나타납니다. 핵심적인 정적 사전 조건은 기본 인스턴스화의 금지입니다. 매개변수가 없는 생성자가 삭제되었으므로 직접 생성하려는 모든 시도는 즉각적인 컴파일 오류로 이어집니다 [SWS_PER_00462]. 이를 통해 초기화되지 않았거나 유효하지 않은 접근자 객체가 시스템에 존재하는 것을 방지합니다.

예외 수준과 관련하여 클래스는 해제 시 보장된 예외 안전성을 제공합니다. 소멸자는 noexcept(으)로 정의되어 있으며 예외 안전("exception safe")으로 명시되어 있습니다 [SWS_PER_00598]. 이는 정리 작업 중 오류가 발생하더라도 외부로 전파되는 C++ 예외가 없도록 보장하여 안전한 스택 되감기(stack unwinding)를 유지합니다.

런타임 시 치명적인 오류 시나리오는 [SWS_PER_00598]에 따른 소멸자의 스레드 안전성 부재에서 비롯됩니다. 다른 스레드가 여전히 읽기 또는 쓰기 작업을 실행하는 동안 객체가 소멸되면 정의되지 않은 동작이나 데이터 불일치로 이어집니다. 따라서 스레드 관련 사전 조건의 준수는 전적으로 호출 시스템 설계의 몫입니다.

이 클래스 가이드는 Persistency(per) 모듈에 대한 AUTOSAR Adaptive Platform R25-11 사양을 기반으로 합니다.

UML 클래스 다이어그램

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

G nara__per__ReadWriteAccessor483 ReadWriteAccessor + ReadWriteAccessor() + ~ReadWriteAccessor() nara__per__ReadAccessor956 ReadAccessor nara__per__ReadWriteAccessor483->nara__per__ReadAccessor956 nara__per__WriteAccessor940 WriteAccessor nara__per__ReadWriteAccessor483->nara__per__WriteAccessor940 nara__per__FileAccessor932 FileAccessor nara__per__ReadAccessor956->nara__per__FileAccessor932 nara__per__WriteAccessor940->nara__per__FileAccessor932

생성자 및 소멸자

The default constructor for ReadWriteAccessor shall not be used.

ReadWriteAccessor ()=delete;

Destructor for ReadWriteAccessor.

~ReadWriteAccessor () final noexcept;

메서드 문서

함수 ReadWriteAccessor [SWS_PER_00462] Upstream: RS_PER_00004, RS_AP_00120, RS_AP_00129, RS_AP_00146

ReadWriteAccessor ()=delete;

The default constructor for ReadWriteAccessor shall not be used.

Header-Datei#include "ara/per/read_write_accessor.h"
Scopeclass ara::per::ReadWriteAccessor

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

Record
AUTOSAR/AP/record/SWS_PER_00462
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00462@rel:R25-11#3af4c029
Content hash
3af4c029
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00462
Status: valid/unmigrated Version: rel:R25-11#cfd162d3 Versionshistorie & Revisions (1 transition, 6 revision)
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_PER_00462@rel:R25-11#cfd162d3
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#721764292026-09-30
  • R21-11rel:R21-11#cd9652062026-10-14
  • R22-11rel:R22-11#77262b5e2026-10-14
  • R23-11rel:R23-11#5e7c323f2026-10-14
  • R24-11rel:R24-11#d4da2a372026-10-14
  • R25-11rel:R25-11#cfd162d32026-10-14 active
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

함수 ~ReadWriteAccessor [SWS_PER_00598] Upstream: RS_PER_00004, RS_AP_00120, RS_AP_00129, RS_AP_00134, RS_AP_00145, RS_AP_00159

~ReadWriteAccessor () final noexcept;

Destructor for ReadWriteAccessor.

Header-Datei#include "ara/per/read_write_accessor.h"
Scopeclass ara::per::ReadWriteAccessor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_PER_00598
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00598@rel:R25-11#4e70e39c
Content hash
4e70e39c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00598
Status: valid/unmigrated Version: rel:R25-11#3b19c355 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_PER_00598@rel:R25-11#3b19c355
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