/// A cheap conversion to a `CSlice`.
pub trait AsCSlice<'a, T> {
    /// Performs the conversion.
    fn as_c_slice(&'a self) -> CSlice<'a, T>;
}

/// A cheap conversion to a `CMutSlice`.
pub trait AsCMutSlice<'a, T> {
    /// Performs the conversion.
    fn as_c_mut_slice(&'a mut self) -> CMutSlice<'a, T>;