Lines Matching refs:T
57 pub struct RawIdArray<T: RawDeviceId, const N: usize> {
58 ids: [T::RawType; N],
59 sentinel: MaybeUninit<T::RawType>,
62 impl<T: RawDeviceId, const N: usize> RawIdArray<T, N> {
71 pub struct IdArray<T: RawDeviceId, U, const N: usize> {
72 raw_ids: RawIdArray<T, N>,
76 impl<T: RawDeviceId, U, const N: usize> IdArray<T, U, N> {
88 const unsafe fn build(ids: [(T, U); N], data_offset: Option<usize>) -> Self { in build() argument
89 let mut raw_ids = [const { MaybeUninit::<T::RawType>::uninit() }; N];
135 pub const fn new_without_index(ids: [(T, U); N]) -> Self { in new_without_index() argument
142 pub const fn raw_ids(&self) -> &RawIdArray<T, N> { in raw_ids() argument
147 impl<T: RawDeviceId + RawDeviceIdIndex, U, const N: usize> IdArray<T, U, N> {
151 pub const fn new(ids: [(T, U); N]) -> Self { in new() argument
155 unsafe { Self::build(ids, Some(T::DRIVER_DATA_OFFSET)) }
165 pub trait IdTable<T: RawDeviceId, U> {
167 fn as_ptr(&self) -> *const T::RawType; in as_ptr()
170 fn id(&self, index: usize) -> &T::RawType; in id()
176 impl<T: RawDeviceId, U, const N: usize> IdTable<T, U> for IdArray<T, U, N> {
177 fn as_ptr(&self) -> *const T::RawType { in as_ptr()
183 fn id(&self, index: usize) -> &T::RawType { in id()