Expand description
Like slice_ref
and slice_mut
, but with any lifetime attached
whatsoever.
It is only intended to be used as the parameter of a callback that
locally borrows it, due to limitations of the [ReprC
][
trait@crate::layout::ReprC
] design w.r.t. higher-rank trait bounds.
C layout (for some given type T)
typedef struct {
// Cannot be NULL
T * ptr;
size_t len;
} slice_T;
Nullable pointer?
If you want to support the above typedef, but where the ptr
field is
allowed to be NULL
(with the contents of len
then being undefined)
use the Option< slice_ptr<_> >
type.
C Layout
Fields
ptr: NonNull<T>
Pointer to the first element (if any).
len: usize
Element count
Implementations
Trait Implementations
sourceimpl<T> ReprC for slice_raw<T>where
T: ReprC,
NonNull<T>: ConcreteReprC,
usize: ConcreteReprC,
impl<T> ReprC for slice_raw<T>where
T: ReprC,
NonNull<T>: ConcreteReprC,
usize: ConcreteReprC,
Auto Trait Implementations
impl<T> RefUnwindSafe for slice_raw<T>where
T: RefUnwindSafe,
impl<T> !Send for slice_raw<T>
impl<T> !Sync for slice_raw<T>
impl<T> Unpin for slice_raw<T>
impl<T> UnwindSafe for slice_raw<T>where
T: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CompatExt for T
impl<T> CompatExt for T
sourceimpl<T> FitForCBox for T
impl<T> FitForCBox for T
type CBoxWrapped = Box_<T>
type CBoxWrapped = Box_<T>
Available on crate feature
alloc
only.sourceimpl<T> ManuallyDropMut for T
impl<T> ManuallyDropMut for T
type Ret = ManuallyDrop<T>
fn manually_drop_mut(&'__ mut self) -> &'__ mut ManuallyDrop<T>
sourceimpl<T> UpcastAny for Twhere
T: 'static,
impl<T> UpcastAny for Twhere
T: 'static,
sourcefn upcast_any(&self) -> &(dyn Any + 'static)
fn upcast_any(&self) -> &(dyn Any + 'static)
Available on crate feature
headers
only.