[][src]Struct lv2rs_urid::debug::DebugMap

pub struct DebugMap { /* fields omitted */ }

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.

Methods

impl DebugMap[src]

pub fn new() -> Box<Self>[src]

Create a new debug map in a box.

pub fn get_map_ref(&self) -> &Map[src]

Return a reference to the mapping feature.

pub fn get_map_mut(&mut self) -> &mut Map[src]

Return a mutable reference to the mapping feature.

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

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

impl !Send for DebugMap

impl !Sync for DebugMap

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]