스택 메모리에서 선택적으로 존재하는 값을 타입 안전하게 캡슐화하고 상태 종속적 접근을 지원합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: b7fd51442c86출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
스택 메모리에서 선택적으로 존재하는 값을 타입 안전하게 캡슐화하고 상태 종속적 접근을 지원합니다.
클래스 ara::core::Optional은 value_type 타입 값을 스택에서 타입 안전하고 할당 없이 캡슐화하기 위해 std::optional<T>의 표준 준수 구현을 제공합니다 [SWS_CORE_01102]. 애플리케이션은 has_value()[SWS_CORE_01129]를 통해 점유 상태를 검사하고 value() 또는 연산자를 통해 콘텐츠에 접근합니다. 비어 있는 인스턴스에 대한 접근은 noexcept 선언에도 불구하고 플랫폼 위반인 IsoStdBadOptionalAccessViolation을 유발하므로 엄격히 피해야 합니다 [SWS_CORE_01131].
컨텍스트
클래스 ara::core::Optional은 Adaptive Platform을 위한 컨테이너 std::optional<T>의 표준 준수 구현을 제공합니다. 이는 value_type 타입의 선택적 값을 캡슐화하기 위한 타입 안전한 래퍼 역할을 합니다 [SWS_CORE_01102]. 이를 사용하면 부재 데이터를 나타내기 위해 오류가 발생하기 쉬운 센티널 값, 특수 오류 플래그 또는 동적 메모리 할당(예: 널 포인터)을 사용할 필요가 없습니다. 객체의 저장은 인스턴스의 스택 메모리 내에서 직접 발생하므로 AUTOSAR 런타임 환경에서 결정론적인 리소스 관리 및 캐시 지역성이 보장됩니다.
except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition) ≙ [optional]
오버로드value4
constexpr const T & value () const & noexcept;SWS_CORE_01130
except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition) ≙ [optional]
오버로드*4
constexpr const T & operator* () const & noexcept;SWS_CORE_01124
except for the following deviations: 1. The function is noexcept 2. Function is not constexpr 3. A IsoStdBadOptionalAccessViolation may be raised (see condition) ≙ [optional]
template <typename U = T> {<cond-explicit-1>} constexpr Optional (U &&) noexcept(std::is_ nothrow_constructible< T, U >::value);
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: a319ba530534출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
클래스 ara::core::Optional의 생성자 함수 [SWS_CORE_01109]은(는) 헤더 #include "ara/core/optional.h"을(를) 통해 제공됩니다. 시그니처 template <typename U = T> constexpr Optional(U&&)을(를) 갖는 템플릿 생성자로서, U&& 타입의 인수를 포함된 값 타입 T(으)로 완벽 전달하여 옵셔널 값을 직접 초기화하는 역할을 합니다([SWS_CORE_01102]). 시맨틱은 [optional]의 규정을 따르지만 무예외성에 대한 명시적 조건에서 차이가 있습니다. 즉, 이 함수는 std::is_nothrow_constructible<T, U>::value이(가) 충족되는 경우에만 정확히 noexcept(으)로 지정됩니다([SWS_CORE_01109]).
오류 처리 및 예외 안전성
예외 안전성 측면에서 이 호출은 conditionally exception safe로 분류됩니다([SWS_CORE_01109]). 이 생성자에 대해서는 특정 AUTOSAR 오류 코드 및 DET 또는 DEM을 통한 보고 경로가 존재하지 않으며, 대상 타입 T의 생성이 실패하면 해당 타입의 예외가 그대로 전달됩니다.
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: dd45cef6ee33출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
ara::core::Optional의 변환 복사 생성자는 헤더 파일 #include "ara/core/optional.h"을(를) 통해 사용할 수 있습니다 [SWS_CORE_01110]. 기존 인스턴스 const Optional<U>&(으)로부터 Optional<T>을(를) 동기식으로 생성하는 역할을 합니다. 사양 표시 {<cond-explicit-2>}은(는) T이(가) const U&(으)로부터 암시적으로 생성될 수 없는 경우 생성자가 explicit(으)로 선언됨을 의미하는 것으로 보입니다. 질문 Q-4a4adc2b59d1fa53 (열림)
오류 처리 및 예외 안전성
이 생성자에는 특정 오류 코드, DET 또는 DEM 메시지가 존재하지 않습니다. 이 함수는 조건부 예외 안전(conditionally exception safe)(으)로 분류됩니다 [SWS_CORE_01110]. noexcept 보장은 대상 타입 T이(가) const U&(으)로부터 예외 없이 생성될 수 있는 경우에만 noexcept(std::is_nothrow_constructible<T, const U&>::value)을(를) 통해 적용됩니다 [SWS_CORE_01110]. 대상 값 생성이 실패하면 예외가 변경 없이 전파됩니다.
동시성 및 제약사항
Ok()[SWS_CORE_00770]과(와) 같은 다른 함수들과 달리, 사양에서는 이 생성자에 대해 스레드 안전성을 명시하지 않습니다. 재진입이 가능할 수는 있겠으나, 소스 객체 Optional<U>에 대한 동시 읽기 또는 쓰기 접근 시에는 외부 동기화가 필요합니다. 질문 Q-a0534498f685f575 (열림)
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 5e86b0752dce출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
템플릿 함수 [SWS_CORE_01111]은(는) 헤더 파일 #include "ara/core/optional.h"에 정의된 클래스 ara::core::Optional의 변환 이동 생성자를 제공합니다. 이 함수는 Optional<T> 인스턴스를 초기화하기 위해 rvalue 참조 Optional<U>&&을(를) 받으며 조건부 noexcept 사양의 문서화된 편차와 함께 [optional]의 동작을 따릅니다 [SWS_CORE_01111]. 해석상 사양 절 {<cond-explicit-3>}은(는) T 및 U 타입의 속성에 따라 변환이 암시적으로 수행될지 또는 명시적으로 수행될지를 제어하는 것으로 보입니다. 질문 Q-0b21a6eafb9414d8 (열림)
오류 처리 및 예외 처리와 관련하여 이 생성자는 조건부 예외 안전(conditionally exception safe)(으)로 분류됩니다 [SWS_CORE_01111]. 실행은 std::is_nothrow_constructible<T, U>::value이(가) 충족되는 경우에만 정확히 noexcept입니다 [SWS_CORE_01111]. 그렇지 않으면 포함된 값을 생성하는 동안 예외가 발생하여 호출자에게 전파될 수 있습니다.
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 4b99ff09898e출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::core::Optional 클래스의 멤버 함수 emplace은(는) T 유형의 포함된 값을 Optional 객체의 메모리에 직접 생성하는 데 사용됩니다[SWS_CORE_01119]. 호출은 헤더 파일 ara/core/optional.h을(를) 통해 동기식으로 수행됩니다. 매개변수로 함수는 가변 인자 패킷 Args&&...을(를) 받아 이를 T 유형의 생성자로 전달하며, 새로 생성된 값에 대한 lvalue 참조(T&)가 반환됩니다[SWS_CORE_01119].
예외 처리와 관련하여 이 함수는 조건부 예외 안전(conditionally exception safe)으로 분류되며 std::is_nothrow_constructible<T, Args&&...>::value을(를) 기반으로 하는 조건부 noexcept 명세를 가집니다[SWS_CORE_01119]. T의 생성이 예외를 발생시키면 기본 유형의 예외 안전성이 적용되며, noexcept 보장은 생성이 예외를 발생시키지 않는 것이 보장되는 경우에만 독점적으로 적용됩니다. 특정 오류 코드, DEM 이벤트 또는 DET 메시지는 명세에 제공되지 않습니다[SWS_CORE_01119].
동시성과 관련하여 명세에는 언급이 없습니다. 해석: 외부 동기화가 없다면 동일한 ara::core::Optional 인스턴스에 대한 여러 스레드의 동시 쓰기 접근은 스레드 안전하지 않을 것으로 보입니다. 또한 재초기화 시 이전에 존재하던 값은 소멸될 것으로 보입니다. 질문 Q-c11efb3f95001493 (열림)
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: a5f272ff8d2c출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
[SWS_CORE_01120]의 멤버 함수 emplace은(는) ara::core::Optional 유형 객체의 포함된 값을 제자리에서(in-place) 직접 초기화하는 데 사용됩니다. 이 함수는 std::initializer_list<U> 및 선택적 인수 Args&&...을(를) 수신하고 새로 생성된 값에 대한 참조 T&을(를) 반환합니다.
오류 처리 및 예외 안전성과 관련하여 이 함수는 조건부 예외 안전(conditionally exception safe)으로 명시되어 있습니다. noexcept 조건은 [SWS_CORE_01120]에 따라 대상 유형 T이(가) std::initializer_list<U>& 및 전달 인수를 사용하여 예외 없이 생성될 수 있는지 여부(std::is_nothrow_constructible)에 정확히 의존합니다. 이는 표준 [optional]의 동작과의 명시적인 차이를 나타냅니다.
핵심 구성 요소들의 결합에서 이 오버로드는 [SWS_CORE_01119]의 초기화 리스트가 없는 제네릭 내부 생성(In-Place 생성)을 보완합니다. 또한 참조 특수화의 경우 [SWS_CORE_01164]을(를) 통한 할당이 존재합니다. 해석: [optional]의 표준 대응물에서 흔히 볼 수 있듯이, 이전 값이 존재하는 경우 새로 생성되기 전에 해당 값이 소멸될 것으로 보입니다. 질문 Q-b8a9274e43f0a0a9 (열림)
constexpr const T & operator* () const & noexcept;
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
constexpr const T && operator* () const &&noexcept;
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. Function is not constexpr 3. A IsoStdBadOptionalAccessViolation may be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. Function is not constexpr 3. A IsoStdBadOptionalAccessViolation may be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept 2. Function is declared with the ref-qualifier &
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept 2. Function is declared with the ref-qualifier &
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept 2. Function is declared with the ref-qualifier &
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept 2. Function is declared with the ref-qualifier &
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e8663f9a82ee출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::core::Optional의 멤버 함수 reset은 헤더 #include "ara/core/optional.h"를 통해 제공되며 인스턴스 [SWS_CORE_01136]을 재설정하는 역할을 합니다. 이 함수는 시그니처 void reset () noexcept;를 가지며 매개변수를 받지 않고 반환값을 제공하지 않습니다 [SWS_CORE_01136]. 동작은 [optional]의 해당 사용법을 따릅니다 [SWS_CORE_01136]. 해석: 이 참조를 기반으로 볼 때 호출 시 존재할 수 있는 상태 값을 소멸시키고 인스턴스를 비어 있는 상태로 전환할 것으로 보입니다. 질문 Q-c819444ae1a7df1f (열림)
오류 처리 및 예외 처리와 관련하여 reset은 예외 안전(exception safe) 및 식별자 noexcept(으)로 선언되어 있습니다 [SWS_CORE_01136]. 예외가 발생하지 않으며 오류 코드도 반환되지 않습니다 [SWS_CORE_01136].
Core 라이브러리의 다른 컴포넌트와의 상호작용에서 다음 참조가 관련됩니다:
옵셔널 참조 ara::core::Optional<T&>의 경우 constexpr(으)로 지정된 reset의 오버로드를 사용할 수 있으며, 이 역시 noexcept이며 예외 안전합니다 [SWS_CORE_01165].
Optional과 구별되게 헤더 ara/core/bitset.h의 타입 ara::core::Bitset도 reset 함수들을 제공합니다. 즉, 수정된 비트셋을 참조하는 매개변수 없는 변형 [SWS_CORE_01727]과 Result 반환 및 IsoStdOutOfRangeViolation 검사를 포함하는 위치 기반 오버로드 [SWS_CORE_01728]을 제공합니다.
이 텍스트는 자동으로 생성되었습니다. 모든 정보는 AUTOSAR Adaptive R25-11의 사양 범위를 기반으로 합니다.
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
template <typename U> constexpr T value_or (U &&) const &;
As per corresponding usage in [optional]
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 4420db92e204출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
[SWS_CORE_01134]에 따른 클래스 ara::core::Optional의 템플릿 멤버 함수 value_or은 포함된 값 또는 제공된 대체 값을 동기식으로 검색하는 역할을 합니다. 이 함수는 헤더 #include "ara/core/optional.h"을 통해 포함되며 시그니처 template <typename U> constexpr T value_or (U &&) const &;를 갖는 상수 lvalue 참조 메서드로 선언되어 있습니다. 동작은 std::optional의 해당 정의("As per corresponding usage in [optional]")를 따르므로, 내용이 설정되어 있으면 값 T이(가) 반환되고 그렇지 않으면 전달받은 기본값이 반환됩니다.
오류 처리 및 예외 안전성
오류 처리와 관련하여 이 함수는 [SWS_CORE_01134]에 따라 명시적으로 예외 안전하지 않음("not exception safe")으로 지정되어 있습니다. 이 호출에 대해 오류 코드, DET 또는 DEM 메시지는 제공되지 않습니다. 따라서 변환 또는 복사 연산 중에 발생한 예외는 외부로 전파될 수 있습니다.
상호 작용
ara::core::Optional 내에는 value_or의 상호 보완적인 오버로드가 존재합니다:
[SWS_CORE_01135]은 rvalue 오버로드 template <typename U> constexpr T value_or (U &&) &&;을 제공하며, 이 역시 예외 안전하지 않음("not exception safe")으로 선언되어 있고 임시 객체에 대해 최적화된 이동을 가능하게 합니다.
[SWS_CORE_01175]은 시그니처 template <typename U> constexpr T value_or (U &&u) const noexcept;를 갖는 특수화 ara::core::Optional<T&>에 대한 오버로드를 지정하며, 이는 [SWS_CORE_01134]과 달리 예외 안전("exception safe")으로 표시되어 있습니다.
이 사용 지침은 자동으로 생성되었으며 전적으로 AUTOSAR Release R25-11의 사양 데이터만을 기반으로 합니다.
template <typename U> constexpr T value_or (U &&) &&;
As per corresponding usage in [optional]
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 1f9eb2809808출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
템플릿 클래스 ara::core::Optional의 Rvalue 한정 멤버 함수 value_or은(는) 헤더 파일 ara/core/optional.h을(를) 통해 제공됩니다[SWS_CORE_01135]. [optional]의 참조에 따라, 포함된 값을 동기식으로 쿼리하거나 전달된 대체 값을 반환하는 역할을 합니다. 이 호출은 Rvalue 참조에 바인딩되므로, 값이 존재하는 경우 포함된 값은 이동 시맨틱을 통해 전달될 것으로 보이며, 그렇지 않은 경우 전달된 인수가 평가 및 변환됩니다. 질문 Q-e20f155d58dd0d72 (열림)
상호작용 및 오버로드
이 함수는 수명이 길거나 임시적이지 않은 인스턴스에 대해 동일한 대체 메커니즘을 제공하는 Const Lvalue 오버로드 [SWS_CORE_01134]을(를) 보완합니다. 참조 특수화 ara::core::Optional<T &>의 경우 이와 달리 noexcept(으)로 선언된 시그니처 [SWS_CORE_01175]이(가) 존재하는 반면, 일반적인 오버로드는 값 타입의 Rvalue를 대상으로 합니다.
오류 처리 및 예외 안전성
이 메서드는 명시적으로 not exception safe로 선언되어 있습니다 [SWS_CORE_01135]. 특정 오류 코드, DET 또는 DEM 메시지는 존재하지 않습니다. 해석: 반환값 생성 시 오류가 발생할 경우, 잠재적인 예외는 주로 관련된 타입 T 및 U의 이동 생성자 또는 변환 연산자에서 비롯될 것으로 보입니다. 질문 (열림)
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문