载入中...
搜索中...
未找到
eve::physics::AcceleratorBackendProviderRegistration类 参考

Move-only lifetime token for one independently registered accelerator provider. 更多...

#include <SimulationBackend.h>

Public 成员函数

 ~AcceleratorBackendProviderRegistration ()
 Removes this registration without affecting other providers.
 
 AcceleratorBackendProviderRegistration (const AcceleratorBackendProviderRegistration &)=delete
 
AcceleratorBackendProviderRegistration & operator= (const AcceleratorBackendProviderRegistration &)=delete
 
 AcceleratorBackendProviderRegistration (AcceleratorBackendProviderRegistration &&other) noexcept
 Transfers responsibility for unregistering the provider.
 
AcceleratorBackendProviderRegistration & operator= (AcceleratorBackendProviderRegistration &&other) noexcept
 Removes the current registration, then transfers another registration.
 
void reset () noexcept
 Removes this provider immediately; safe to call more than once.
 

静态 Public 成员函数

static eve::Result< AcceleratorBackendProviderRegistration > registerProvider (IAcceleratorBackendProvider &provider, int priority=0)
 Registers an externally owned provider for multi-provider selection.
 

详细描述

Move-only lifetime token for one independently registered accelerator provider.

Registration is main-thread/module-startup affine. The provider remains externally owned and must outlive this token and every backend it created. Destroying or resetting the token removes only this provider; other domain providers remain registered. A lower priority value is attempted first when multiple providers support the same domain. The legacy single-provider eve::cap::provide<IAcceleratorBackendProvider>() entry remains supported and is considered after independently registered providers.

在文件 SimulationBackend.h 第 250 行定义.

构造及析构函数说明

◆ ~AcceleratorBackendProviderRegistration()

eve::physics::AcceleratorBackendProviderRegistration::~AcceleratorBackendProviderRegistration ( )

Removes this registration without affecting other providers.

在文件 SimulationBackend.cpp 第 155 行定义.

引用了 reset().

◆ AcceleratorBackendProviderRegistration() [1/2]

eve::physics::AcceleratorBackendProviderRegistration::AcceleratorBackendProviderRegistration ( const AcceleratorBackendProviderRegistration &  )
delete

◆ AcceleratorBackendProviderRegistration() [2/2]

eve::physics::AcceleratorBackendProviderRegistration::AcceleratorBackendProviderRegistration ( AcceleratorBackendProviderRegistration &&  other)
noexcept

Transfers responsibility for unregistering the provider.

在文件 SimulationBackend.cpp 第 157 行定义.

成员函数说明

◆ operator=() [1/2]

AcceleratorBackendProviderRegistration & eve::physics::AcceleratorBackendProviderRegistration::operator= ( AcceleratorBackendProviderRegistration &&  other)
noexcept

Removes the current registration, then transfers another registration.

在文件 SimulationBackend.cpp 第 161 行定义.

◆ operator=() [2/2]

AcceleratorBackendProviderRegistration & eve::physics::AcceleratorBackendProviderRegistration::operator= ( const AcceleratorBackendProviderRegistration &  )
delete

◆ registerProvider()

eve::Result< AcceleratorBackendProviderRegistration > eve::physics::AcceleratorBackendProviderRegistration::registerProvider ( IAcceleratorBackendProvider &  provider,
int  priority = 0 
)
static

Registers an externally owned provider for multi-provider selection.

参数
providerProvider that outlives this registration.
priorityStable selection priority; lower values are attempted first.
返回
An owning registration token, or Conflict when this provider already has a live registration.

在文件 SimulationBackend.cpp 第 140 行定义.

引用了 eve::Conflict, eve::Diagnostic::error(), eve::Result< T >::failure(), priority , 以及 eve::Result< T >::success().

◆ reset()

void eve::physics::AcceleratorBackendProviderRegistration::reset ( )
noexcept

Removes this provider immediately; safe to call more than once.

在文件 SimulationBackend.cpp 第 169 行定义.

被这些函数引用 ~AcceleratorBackendProviderRegistration().


该类的文档由以下文件生成: