Struct bevy_ptr::Ptr

source ·
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§

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.

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.

Creates a new instance from a raw pointer.

Safety

The lifetime for the returned item must not exceed the lifetime inner is valid for

Transforms this Ptr into an PtrMut

Safety

Another PtrMut for the same Ptr must not be created until the first is dropped.

Transforms this Ptr<T> into a &T with the same lifetime

Safety

Must point to a valid T

Gets the underlying pointer, erasing the associated lifetime.

If possible, it is strongly encouraged to use deref over this function, as it retains the lifetime.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.