use std::ptr::NonNull;
pub(crate) trait TerminatedPtrIter<AVType, WrapperType>:
Sized + Iterator<Item = WrapperType>
{
unsafe fn from_ptr(ptr: NonNull<AVType>) -> Self;
unsafe fn from_raw(ptr: *const AVType) -> Option<Self> {
unsafe { NonNull::new(ptr as *mut _).map(|ptr| Self::from_ptr(ptr)) }
}
}