oneapi_rs/info/
device-info.rs1use crate::device::Device;
10use oneapi_rs_sys::device::ffi;
11
12pub trait DeviceInfo {
13 type Item;
14 fn get_item(device: &Device) -> Self::Item;
15}
16
17pub struct DeviceType;
19impl DeviceInfo for DeviceType {
20 type Item = crate::info::DeviceType;
21 fn get_item(device: &Device) -> Self::Item {
22 ffi::get_device_type(&device.0)
23 }
24}
25
26pub struct Version;
28impl DeviceInfo for Version {
29 type Item = String;
30 fn get_item(device: &Device) -> Self::Item {
31 ffi::get_version(&device.0)
32 }
33}
34
35pub struct Name;
37impl DeviceInfo for Name {
38 type Item = String;
39 fn get_item(device: &Device) -> Self::Item {
40 ffi::get_name(&device.0)
41 }
42}