pub struct Ptr<'a>(_, _);
Expand description
Type-erased borrow of some unknown type chosen when constructing this type.
This type tries to act “borrow-like” which means that:
- It should be considered immutable: its target must not be changed while this pointer is alive.
- It must always points to a valid value of whatever the pointee type is.
- The lifetime
'a
accurately represents how long the pointer is valid for.
It may be helpful to think of this type as similar to &'a dyn Any
but without
the metadata and able to point to data that does not correspond to a Rust type.
Implementations§
source§impl Ptr<'_>
impl Ptr<'_>
sourcepub unsafe fn byte_offset(self, count: isize) -> Self
pub unsafe fn byte_offset(self, count: isize) -> Self
Calculates the offset from a pointer.
As the pointer is type-erased, there is no size information available. The provided
count
parameter is in raw bytes.
See also: ptr::offset
Safety
the offset cannot make the existing ptr null, or take it out of bounds for its allocation.
sourcepub unsafe fn byte_add(self, count: usize) -> Self
pub unsafe fn byte_add(self, count: usize) -> Self
Calculates the offset from a pointer (convenience for .offset(count as isize)
).
As the pointer is type-erased, there is no size information available. The provided
count
parameter is in raw bytes.
See also: ptr::add
Safety
the offset cannot make the existing ptr null, or take it out of bounds for its allocation.