use super::*;
use std::{ops::{Deref, DerefMut}};
#[derive(Debug)]
pub struct CuVectorSlice<'a, T: CuDataType + 'a> {
pub(crate) _parent: PhantomData<&'a CuVectorDeref<T>>,
pub(crate) deref: CuVectorDeref<T>,
}
impl<'a, T: CuDataType + 'a> Deref for CuVectorSlice<'a, T> {
type Target = CuVectorDeref<T>;
fn deref(&self) -> &CuVectorDeref<T> { &self.deref }
}
#[derive(Debug)]
pub struct CuVectorSliceMut<'a, T: CuDataType + 'a> {
pub(crate) _parent: PhantomData<&'a CuVectorDeref<T>>,
pub(crate) deref: CuVectorDeref<T>,
}
impl<'a, T: CuDataType + 'a> Deref for CuVectorSliceMut<'a, T> {
type Target = CuVectorDeref<T>;
fn deref(&self) -> &CuVectorDeref<T> { &self.deref }
}
impl<'a, T: CuDataType + 'a> DerefMut for CuVectorSliceMut<'a, T> {
fn deref_mut(&mut self) -> &mut CuVectorDeref<T> { &mut self.deref }
}