Skip to main content

NativePointer

Struct NativePointer 

Source
pub struct NativePointer { /* private fields */ }
Expand description

Borrowed opaque native address used for backend interop handles.

The value does not own, retain, dereference, or validate the pointed-to object. Passing it to MapLibre Native transfers no ownership and grants the Rust binding no memory access.

Implementations§

Source§

impl NativePointer

Source

pub const NULL: Self

Null backend handle value.

Source

pub unsafe fn from_address(address: usize) -> Self

Creates an opaque borrowed pointer value from a native address.

§Safety

The caller must ensure the address has the correct backend-native type for every API it is passed to, and that the native object stays valid for the complete borrow required by that API. This wrapper does not validate provenance, alignment, lifetime, thread ownership, or backend type.

Source

pub unsafe fn from_ptr<T>(ptr: *mut T) -> Self

Creates an opaque borrowed pointer value from a raw pointer.

§Safety

The pointer must satisfy the same requirements as NativePointer::from_address.

Source

pub fn address(self) -> usize

Returns this opaque value as an integer address.

Source

pub fn is_null(self) -> bool

Returns whether this value is null.

Source

pub unsafe fn as_ptr<T>(self) -> *mut T

Reconstructs a raw pointer for a backend interop call.

§Safety

The caller must choose the correct pointer type and uphold the lifetime, thread-affinity, synchronization, and aliasing requirements of the backend API that will receive the pointer.

Trait Implementations§

Source§

impl Clone for NativePointer

Source§

fn clone(&self) -> NativePointer

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for NativePointer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for NativePointer

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for NativePointer

Source§

fn eq(&self, other: &NativePointer) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for NativePointer

Source§

impl Eq for NativePointer

Source§

impl StructuralPartialEq for NativePointer

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.