DebugMap

Struct DebugMap 

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

Container holding both the mapping feature and a storage for URID mappings.

Since the mapping feature contains a raw pointer to the storage, this struct must be pinned. This means that it cannot be moved.

Implementations§

Source§

impl DebugMap

Source

pub fn new() -> Box<Self>

Create a new debug map in a box.

Source

pub fn get_map_ref(&self) -> &Map

Return a reference to the mapping feature.

Source

pub fn get_map_mut(&mut self) -> &mut Map

Return a mutable reference to the mapping feature.

Source

pub unsafe fn create_cached_map(&mut self) -> CachedMap

Create a cached map.

Technically, this is useless since this debug map already contains the URIDs in a HashMap, but many LV2 libraries use the CachedMap and therefore need such an object.

This method is unsafe since it has to fake the lifetime of the mapping feature. In reality, this mapping feature only lives as long as the DebugMap exists, but the CachedMap expects the mapping feature to come from a host. This implies that the mapping feature will live for the whole lifetime of the plugin and therefore is static.

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> 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, 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.