Struct FeatureDescriptor

Source
pub struct FeatureDescriptor<'a> { /* private fields */ }
Expand description

Descriptor of a single host feature.

This struct is slightly different from the raw LV2_Feature struct, as the length of the contained URI is precomputed for faster comparison.

Implementations§

Source§

impl<'a> FeatureDescriptor<'a>

Source

pub fn uri(&self) -> &CStr

Return the URI of the feature.

Source

pub fn data(&self) -> *const c_void

Returns the data pointer of the feature descriptor.

Source

pub fn is_feature<T: Feature>(&self) -> bool

Evaluate whether this object describes the given feature.

Source

pub fn into_feature<T: Feature>(self, class: ThreadingClass) -> Result<T, Self>

Try to return a feature struct instance from the internal data.

If this object describes the requested feature, it will be created from the raw data. This operation consumes the descriptor since it would be possible to have multiple features instances otherwise. You also have to provide the threading class of the feature.

If the feature construction fails, the descriptor will be returned again.

Auto Trait Implementations§

§

impl<'a> Freeze for FeatureDescriptor<'a>

§

impl<'a> RefUnwindSafe for FeatureDescriptor<'a>

§

impl<'a> !Send for FeatureDescriptor<'a>

§

impl<'a> !Sync for FeatureDescriptor<'a>

§

impl<'a> Unpin for FeatureDescriptor<'a>

§

impl<'a> UnwindSafe for FeatureDescriptor<'a>

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.