KernelArgumentList

Trait KernelArgumentList 

Source
pub unsafe trait KernelArgumentList<const ARGC: usize> {
    // Required method
    unsafe fn as_raw_arg_list(&self) -> [&[u8]; ARGC];
}
Expand description

Types which describe an argument list for a SYCL kernel.

Safety: a type implement this trait must mirror the representation and alignment of each corresponding SYCL kernel argument inside the returned array.

Required Methods§

Source

unsafe fn as_raw_arg_list(&self) -> [&[u8]; ARGC]

Converts each struct member to a raw byte representation.

Safety: This function returns references to raw bytes. These bytes will be passed to FFI functions. The caller must make sure these functions respect Rust’s aliasing rules.

Implementations on Foreign Types§

Source§

impl KernelArgumentList<0> for ()

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 0]

Source§

impl<T0, T1> KernelArgumentList<2> for (T0, T1)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 2]

Source§

impl<T0, T1, T2> KernelArgumentList<3> for (T0, T1, T2)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 3]

Source§

impl<T0, T1, T2, T3> KernelArgumentList<4> for (T0, T1, T2, T3)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 4]

Source§

impl<T0, T1, T2, T3, T4> KernelArgumentList<5> for (T0, T1, T2, T3, T4)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 5]

Source§

impl<T0, T1, T2, T3, T4, T5> KernelArgumentList<6> for (T0, T1, T2, T3, T4, T5)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 6]

Source§

impl<T0, T1, T2, T3, T4, T5, T6> KernelArgumentList<7> for (T0, T1, T2, T3, T4, T5, T6)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 7]

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> KernelArgumentList<8> for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 8]

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> KernelArgumentList<9> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 9]

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> KernelArgumentList<10> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 10]

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> KernelArgumentList<11> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 11]

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> KernelArgumentList<12> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 12]

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> KernelArgumentList<13> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 13]

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> KernelArgumentList<14> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 14]

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> KernelArgumentList<15> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 15]

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> KernelArgumentList<16> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

Source§

unsafe fn as_raw_arg_list(&self) -> [&[u8]; 16]

Implementors§