函数 Bind [SWS_CORE_00870] Upstream: RS_AP_00130
template <typename F> auto Bind (F &&f) const -> <see below>;
Call the given Callable, and return a new Result with the result of the call. The Callable is expected to be compatible to one of these two interfaces: • Result<XXX, E> f(); • XXX f(); meaning that the Callable either returns a Result<XXX, E> or a XXX directly, where XXX can be any type that is suitable for use by class Result. The return type of this function is decltype(f()) for a template argument F that returns a Result type, and it is Result<decltype(f()), E> for a template argument F that does not return a Result type. If this instance does not contain a value, a new Result<XXX, E> is still created and returned, with the original error contents of this instance being copied into the new instance
用法与调用上下文
来自 ara/core/result.h 的特化 ara::core::Result<void, E> 的成员函数 Bind 在没有结果值的成功实例上执行后续计算 [SWS_CORE_00870]。如果存在值,则同步且无参数地调用传入的 Callable f。该 Callable 必须满足接口 Result<XXX, E> f() 或 XXX f(),其中 XXX 必须是 Result 允许的类型 [SWS_CORE_00870]。如果 Callable 返回 Result,则返回类型对应于 decltype(f());如果它直接返回 XXX,则结果将被封装为 Result<decltype(f()), E> [SWS_CORE_00870]。
错误处理与并发
如果实例不包含值,则返回一个新的 Result<XXX, E>,原始错误会被复制到其中 [SWS_CORE_00870]。理解:在这种情况下,推测不应执行 Callable f。 问题 Q-6288a7106d2730c3 (未决)关于执行安全性,该函数被视为 not exception safe [SWS_CORE_00870]。线程安全性是有条件的(conditional),完全取决于传入的 Callable f 的线程安全性 [SWS_CORE_00870]。
与相关要求的交互
与来自 [SWS_CORE_00768] 和 [SWS_CORE_00941] 的主 Result<T, E> 函数不同(在那些函数中,Callable 通过 f(const T&) 接收实例的值),本重载 [SWS_CORE_00870] 将操作绑定到 void 结果,因此需要一个无参 Callable。
此使用说明是基于 AUTOSAR 规范状态 R25-11 自动生成的。
| Header-Datei | #include "ara/core/result.h" |
|---|---|
| Scope | class ara::core::Result< void, E > |
| Exception-Sicherheit | not exception safe |
| Thread-Sicherheit | conditional, depends on thread safety of f |
Template-Parameter
| Parameter | Beschreibung |
|---|---|
| F | the type of the Callable f |
Parameter (in)
| Parameter | Beschreibung |
|---|---|
| f | the Callable |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| <see below> | a new Result instance of the possibly transformed type |
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/SWS_CORE_00870- Status
- valid/unmigrated
- Version
AUTOSAR/AP/record/SWS_CORE_00870@rel:R25-11#43844278- Content hash
43844278- Source
- https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00870
Status: valid/unmigrated
Version: rel:R25-11#e97c3561
Versionshistorie & Revisions (1 transition, 7 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_00870@rel:R25-11#e97c3561
Recorded Revisions (7):
- R25-11
rel:R25-11#609a669f2026-09-30 - R20-11
rel:R20-11#54a19d8c2026-10-14 - R21-11
rel:R21-11#54a19d8c2026-10-14 - R22-11
rel:R22-11#82ad4f452026-10-14 - R23-11
rel:R23-11#0661a5ee2026-10-14 - R24-11
rel:R24-11#1de461af2026-10-14 - R25-11
rel:R25-11#e97c35612026-10-14 active
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
|---|---|---|---|---|
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-low· 2026-10-13 · 德文原文