Struct rkyv::rel_ptr::RelPtr[][src]

pub struct RelPtr<T: ArchivePointee + ?Sized, O> { /* fields omitted */ }
Expand description

A pointer which resolves to relative to its position in memory.

This is a strongly-typed version of RawRelPtr.

See Archive for an example of creating one.

Implementations

Checks the bytes of the given relative pointer.

This is done rather than implementing CheckBytes to force users to manually write their CheckBytes implementation since they need to also provide the ownership model of their memory.

Safety

The given pointer must be aligned and point to enough bytes to represent a RelPtr<T>.

Attempts to create a relative pointer from one position to another.

Safety

  • from must be the position of out within the archive
  • to must be the position of some valid T

Creates a relative pointer from one position to another.

Panics

  • The offset between from and to does not fit in an isize
  • The offset between from and to exceeds the offset storage

Safety

  • from must be the position of out within the archive
  • to must be the position of some valid T

Attempts to create a relative pointer from one position to another.

Safety

  • from must be the position of out within the archive
  • to must be the position of some valid T
  • value must be the value being serialized
  • metadata_resolver must be the result of serializing the metadata of value

Creates a relative pointer from one position to another.

Panics

  • The offset between from and to does not fit in an isize
  • The offset between from and to exceeds the offset storage

Safety

  • from must be the position of out within the archive
  • to must be the position of some valid T
  • value must be the value being serialized
  • metadata_resolver must be the result of serializing the metadata of value

Gets the base pointer for the relative pointer.

Gets the mutable base pointer for the relative pointer.

Gets the offset of the relative pointer from its base.

Gets whether the offset of the relative pointer is 0.

Gets the metadata of the relative pointer.

Calculates the memory address being pointed to by this relative pointer.

Returns an unsafe mutable pointer to the memory address being pointed to by this relative pointer.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

The archived version of the pointer metadata for this type.

Converts some archived metadata to the pointer metadata for itself.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Deserializes using the given deserializer

Performs the conversion.

Performs the conversion.

Gets the layout of the type.

The type for metadata in pointers and references to Self.

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.