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
impl DebugMap
Sourcepub fn get_map_ref(&self) -> &Map
pub fn get_map_ref(&self) -> &Map
Return a reference to the mapping feature.
Sourcepub fn get_map_mut(&mut self) -> &mut Map
pub fn get_map_mut(&mut self) -> &mut Map
Return a mutable reference to the mapping feature.
Sourcepub unsafe fn create_cached_map(&mut self) -> CachedMap
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.