DEENESPTFRRUARHIKOZHNL

구조체 std::hash< ara::core::StringView >

[SWS_CORE_02189]

template <> struct hash< ara::core::StringView > final {...};

Specialization of std::hash (hashing function for ara::core::StringView)

Header-Datei#include "ara/core/string_view.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace std

사용자 가이드AI 생성

연관 해시 컨테이너에서 사용하기 위해 StringView 객체에 대한 해시 값 계산을 가능하게 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 1a39d5491f89 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

연관 해시 컨테이너에서 사용하기 위해 StringView 객체에 대한 해시 값 계산을 가능하게 합니다.

특수화 std::hash<ara::core::StringView>은 헤더 <ara/core/string_view.h>에서 ara::core::StringView의 인스턴스를 위한 표준화된 해싱 기능을 제공합니다 [SWS_CORE_02190]. 상태가 없는 함수 객체는 호출 연산자 operator()를 통해 전달된 상수 StringView 참조로부터 size_t 타입의 정수형 해시 값을 결정론적으로 계산합니다 [SWS_CORE_02190]. noexcept(으)로 엄격하게 선언됨에 따라 실행은 완전히 예외 안전하며 어떠한 시점에도 오류를 발생시키지 않습니다. 호출자는 단지 평가 중에 StringView가 참조하는 문자 데이터가 메모리에서 유효하게 유지되도록 보장하기만 하면 됩니다.

컨텍스트

템플릿 특수화 std::hash<ara::core::StringView>은 AUTOSAR Adaptive Platform 내에서 문자열 참조 ara::core::StringView을 위한 표준 해싱 함수를 제공합니다. 헤더 <ara/core/string_view.h>에 정의되어 있으며 [SWS_CORE_02190], 기본 타입 ara::core::StringView을(를) C++ 표준 라이브러리의 타입 시스템에 직접 통합합니다. 이 구조체의 기본 역할은 표준을 준수하는 함수 및 해싱 객체로 동작하는 것입니다. 최신 C++ 시스템과 이를 기반으로 구축된 AUTOSAR Adaptive 애플리케이션에서는 제네릭 알고리즘과 연관 데이터 구조에 표준화된 해시 함수자가 필요합니다. 이 특수화는 주로 ara::core::StringView의 인스턴스가 검색 또는 매핑 키로 사용될 때 std::unordered_map 또는 std::unordered_set과(와) 같은 정렬되지 않은 연관 컨테이너를 위한 키 해시 함수 역할을 할 것으로 추정됩니다. 질문 Q-781e3d2bf693742f (열림) ara::core::StringView은(는) 연속된 문자 시퀀스에 대한 비소유 뷰를 나타내므로, std::hash<ara::core::StringView>은(는) 자체적인 메모리 할당을 수행하거나 참조된 텍스트의 복사본을 생성하지 않고 참조된 메모리 영역과 긴밀하게 연동합니다.

수명 주기

이 구조체는 선언에 따라 최종 특수화 template <> struct hash< ara::core::StringView > final(으)로 설계되었습니다. 수명 주기 측면에서 std::hash<ara::core::StringView>은(는) 함수 객체의 특성을 나타냅니다. 인터페이스에 데이터 멤버가 명시되어 있지 않으므로 구조체는 완전히 상태가 없을 것으로 보이며, 이에 따라 명시적인 리소스 관리 없이 인스턴스를 생성할 수 있습니다. 인스턴스화는 일반적으로 호출하는 컨테이너에 의해 암시적으로 수행되거나 호출 지점에서 임시 객체로 명시적으로 수행됩니다. 아무런 상태도 유지하지 않기 때문에 생성 비용이 극히 적고 동적 메모리 할당이 전혀 필요하지 않습니다. 따라서 인스턴스는 필요에 따라 생성, 복사되거나 이름 없는 Rvalue로 직접 전달될 수 있습니다. 함수자의 소멸은 사소하며(trivial) 어떠한 해제 작업도 필요하지 않습니다. 동시성 및 스레드 안전성 측면에서 상태가 없는 특성은 제한 없는 동시 접근을 허용합니다. 가변 데이터 구조가 수정되지 않으므로 여러 스레드가 서로 다르거나 동일한 ara::core::StringView 인스턴스에 대해 해시 함수를 병렬로 실행할 수 있습니다. 질문 Q-17cde1f6c81fd9f1 (열림)

사용 경로

특수화의 핵심 기능은 호출 연산자 operator()에 집중되어 있습니다 [SWS_CORE_02190]. 일반적인 사용은 인스턴스화 및 평가로 구성된 2단계 흐름의 프레임워크 내에서 이루어집니다. 개발자 또는 표준 컨테이너는 ara::core::StringView의 인스턴스를 상수 참조로 멤버 함수 operator()(ara::core::StringView const &v) const noexcept에 전달합니다 [SWS_CORE_02190]. 평가 시 함수는 StringView이(가) 참조하는 문자 데이터를 읽고 이를 size_t 타입의 정수형 해시 값으로 변환합니다 [SWS_CORE_02190]. 구체적인 계산은 해시 테이블의 무결성을 보장하기 위해 내용상 동일한 두 문자 시퀀스에 대해 반드시 동일한 size_t 값을 반환하는 확립된 해시 알고리즘을 기반으로 할 것으로 추정됩니다. 질문 Q-45be0447105133fd (열림) 계산 후 결과 값은 호출자에게 직접 반환되며, 호출자는 이를 예를 들어 버킷 색인화에 사용합니다.

오류 시나리오

noexcept 사양 및 예외 안전(“exception safe”) 분류 [SWS_CORE_02190]에 따라, operator() 호출은 어떠한 시점에도 예외가 발생하거나 함수 프레임을 벗어나지 않음을 보장합니다. 형식적으로 유효한 모든 StringView 인스턴스에 대해 해시 계산이 결정론적으로 실행될 수 있으므로, 인터페이스는 특정 오류 코드나 ara::core::Result 반환 타입을 정의하지 않습니다. 중요한 사전 조건으로서, 전달된 ara::core::StringView 참조가 유효한 메모리 영역을 가리키도록 보장하는 것은 호출자의 책임입니다. 비어 있는 StringView은(는) 문제없이 오류 없이 해시될 수 있지만, 유효하지 않거나 이미 해제된 메모리 영역을 가진 뷰(Dangling Pointer)를 전달하면 메모리 읽기 작업 시 정의되지 않은 동작이 발생합니다. 사후 조건 수준에서 함수는 전달된 인수가 변경되지 않고 유지되며 결정론적인 size_t 해시 값이 반환됨을 보장합니다 [SWS_CORE_02190].

이 클래스 가이드는 AUTOSAR 사양 R25-11을 기반으로 AI 큐레이션 어시스턴트에 의해 작성되었습니다.

UML 클래스 다이어그램

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

G nstd__hash__ara__core__StringView__122 «struct» hash< ara::core::StringView > + operator()() n_core__StringView___final585 :core::StringView > final nstd__hash__ara__core__StringView__122->n_core__StringView___final585

연산자

operator() 함수

Invoke the hashing function

size_t operator() (ara::core::StringView const &v) const noexcept;

메서드 문서

함수 operator() [SWS_CORE_02190]

size_t operator() (ara::core::StringView const &v) const noexcept;

Invoke the hashing function

Header-Datei#include "ara/core/string_view.h"
Scopestruct std::hash< ara::core::StringView >
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_02190
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_02190@rel:R25-11#b7464d19
Content hash
b7464d19
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_02190
Status: valid/unmigrated Version: rel:R25-11#5fb7ab21 Versionshistorie & Revisions (1 transition, 3 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_CORE_02190@rel:R25-11#5fb7ab21
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#52ddc4c82026-09-30
  • R24-11rel:R24-11#55889b1d2026-10-14
  • R25-11rel:R25-11#5fb7ab212026-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