nndeploy C++ API  0.2.0
nndeploy C++ API
Public Member Functions | Protected Attributes | List of all members
nndeploy::device::Architecture Class Referenceabstract

设备架构类 More...

#include <device.h>

Inheritance diagram for nndeploy::device::Architecture:
[legend]
Collaboration diagram for nndeploy::device::Architecture:
[legend]

Public Member Functions

 Architecture (base::DeviceTypeCode device_type_code)
 构造函数 More...
 
virtual base::Status checkDevice (int device_id=0, std::string library_path="")=0
 检查设备是否可用 More...
 
virtual base::Status disableDevice ()
 禁用设备 More...
 
virtual base::Status enableDevice (int device_id=0, std::string library_path="")=0
 启用设备 More...
 
virtual DevicegetDevice (int device_id)=0
 获取指定ID的设备 More...
 
virtual std::vector< DeviceInfogetDeviceInfo (std::string library_path="")=0
 获取设备信息列表 More...
 
base::DeviceTypeCode getDeviceTypeCode () const
 获取设备类型代码 More...
 
base::Status insertDevice (int device_id, Device *device)
 插入设备(供Python使用) More...
 
virtual ~Architecture ()
 析构函数 More...
 
- Public Member Functions inherited from nndeploy::base::NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (NonCopyable &&)=delete
 

Protected Attributes

std::map< int, Device * > devices_
 设备映射表 More...
 
std::mutex mutex_
 线程安全锁 More...
 

Detailed Description

设备架构类

管理特定类型设备的抽象基类,负责设备的创建、管理和销毁。 一般通过 getArchitecture() 函数获取实例。

Note
一般通过getArchitecture获取

Definition at line 41 of file device.h.

Constructor & Destructor Documentation

◆ Architecture()

nndeploy::device::Architecture::Architecture ( base::DeviceTypeCode  device_type_code)
explicit

构造函数

Parameters
device_type_code设备类型代码

◆ ~Architecture()

virtual nndeploy::device::Architecture::~Architecture ( )
virtual

析构函数

Member Function Documentation

◆ checkDevice()

virtual base::Status nndeploy::device::Architecture::checkDevice ( int  device_id = 0,
std::string  library_path = "" 
)
pure virtual

检查设备是否可用

Parameters
device_id设备ID,默认为0
library_path库文件路径,默认为空
Returns
base::Status 检查结果状态

◆ disableDevice()

virtual base::Status nndeploy::device::Architecture::disableDevice ( )
virtual

禁用设备

Returns
base::Status 禁用结果状态

◆ enableDevice()

virtual base::Status nndeploy::device::Architecture::enableDevice ( int  device_id = 0,
std::string  library_path = "" 
)
pure virtual

启用设备

Parameters
device_id设备ID,默认为0
library_path库文件路径,默认为空
Returns
base::Status 启用结果状态

◆ getDevice()

virtual Device* nndeploy::device::Architecture::getDevice ( int  device_id)
pure virtual

获取指定ID的设备

Parameters
device_id设备ID
Returns
Device* 设备指针

◆ getDeviceInfo()

virtual std::vector<DeviceInfo> nndeploy::device::Architecture::getDeviceInfo ( std::string  library_path = "")
pure virtual

获取设备信息列表

Parameters
library_path库文件路径,默认为空
Returns
std::vector<DeviceInfo> 设备信息列表

◆ getDeviceTypeCode()

base::DeviceTypeCode nndeploy::device::Architecture::getDeviceTypeCode ( ) const

获取设备类型代码

Returns
base::DeviceTypeCode 设备类型代码

◆ insertDevice()

base::Status nndeploy::device::Architecture::insertDevice ( int  device_id,
Device device 
)

插入设备(供Python使用)

Parameters
device_id设备ID
device设备指针
Returns
base::Status 插入结果状态

Member Data Documentation

◆ devices_

std::map<int, Device *> nndeploy::device::Architecture::devices_
protected

设备映射表

从设备ID到设备指针的映射

Definition at line 114 of file device.h.

◆ mutex_

std::mutex nndeploy::device::Architecture::mutex_
protected

线程安全锁

Definition at line 108 of file device.h.


The documentation for this class was generated from the following file: