Owned

Struct Owned 

Source
pub struct Owned(/* private fields */);
Expand description

An owned opaque value descriptor.

A value of this type encapsulates an opaque value descriptor. Cloning it duplicates the descriptor. Dropping it closes the descriptor. CBOR-encoding it yields an integer with the Identifier tag.

Implementations§

Source§

impl Owned

Source

pub const unsafe fn new(raw: u32) -> Self

Wraps a raw integer descriptor in a Descriptor object.

§Safety

The caller must ensure that the passed-in value is a valid, open descriptor. Passing a closed descriptor may result in dropping the object closing an unrelated opaque value which happened to be allocated the same descriptor value. Passing an invalid descriptor value may violate the niche requirements and result in undefined behaviour.

The caller must ensure that only one Descriptor object for a given value exists at a time, because dropping a Descriptor object closes the descriptor.

Source

pub const fn into_inner(self) -> u32

Destroys a Descriptor object and returns the raw value.

The caller must ensure that the descriptor is eventually closed. This function is safe because Rust’s safety guarantees to not include reliable freeing of resources; however, care should be taken when calling it.

Source

pub const fn as_raw(&self) -> u32

Returns the raw descriptor value.

Source

pub fn dup(&self) -> Result<Self>

Duplicates the descriptor.

§Errors
  • TooManyDescriptors is returned if the descriptor table is too full and some descriptors must be closed.

Trait Implementations§

Source§

impl AsDescriptor for Owned

Source§

fn as_descriptor(&self) -> Borrowed<'_>

Borrows the descriptor.
Source§

impl AsRaw for Owned

Source§

fn as_raw(&self) -> u32

Returns the raw descriptor value.
Source§

impl Debug for Owned

Source§

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

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

impl Drop for Owned

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl<Context> Encode<Context> for Owned

Source§

fn encode<W: Write>( &self, e: &mut Encoder<W>, _: &mut Context, ) -> Result<(), Error<W::Error>>

Encode a value of this type using the given Encoder. Read more
Source§

fn is_nil(&self) -> bool

Is this value of Self a nil value? Read more
Source§

impl Hash for Owned

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 IntoDescriptor for Owned

Source§

fn into_descriptor(self) -> Owned

Converts to the descriptor.
Source§

impl Ord for Owned

Source§

fn cmp(&self, other: &Owned) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for Owned

Source§

fn eq(&self, other: &Owned) -> 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 PartialOrd for Owned

Source§

fn partial_cmp(&self, other: &Owned) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Eq for Owned

Source§

impl StructuralPartialEq for Owned

Auto Trait Implementations§

§

impl Freeze for Owned

§

impl RefUnwindSafe for Owned

§

impl Send for Owned

§

impl Sync for Owned

§

impl Unpin for Owned

§

impl UnwindSafe for Owned

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.