Skip to main content

OwnedId

Struct OwnedId 

Source
pub struct OwnedId<'a> {
    pub id: Id,
    /* private fields */
}
Expand description

An ExclusiveId that is associated with an IdOwner. It is automatically returned to the IdOwner when dropped.

Fields§

§id: Id

The underlying identifier.

Methods from Deref<Target = Id>§

Source

pub fn acquire(&self) -> Option<ExclusiveId>

Takes ownership of this Id from the current write context (i.e. thread). Returns None if this Id was not found, because it is not associated with this write context, or because it is currently acquired.

Trait Implementations§

Source§

impl AsRef<ExclusiveId> for OwnedId<'_>

Source§

fn as_ref(&self) -> &ExclusiveId

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<Id> for OwnedId<'_>

Source§

fn as_ref(&self) -> &Id

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<[u8; 16]> for OwnedId<'_>

Source§

fn as_ref(&self) -> &RawId

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<[u8]> for OwnedId<'_>

Source§

fn as_ref(&self) -> &[u8]

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<ExclusiveId> for OwnedId<'_>

Source§

fn borrow(&self) -> &ExclusiveId

Immutably borrows from an owned value. Read more
Source§

impl Borrow<Id> for OwnedId<'_>

Source§

fn borrow(&self) -> &Id

Immutably borrows from an owned value. Read more
Source§

impl Borrow<[u8; 16]> for OwnedId<'_>

Source§

fn borrow(&self) -> &RawId

Immutably borrows from an owned value. Read more
Source§

impl Deref for OwnedId<'_>

Source§

type Target = ExclusiveId

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Display for OwnedId<'_>

Source§

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

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

impl<'a> Drop for OwnedId<'a>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more
Source§

impl Encodes<&OwnedId<'_>> for GenId

Source§

type Output = Inline<GenId>

The concrete form this source produces when encoded for this schema. Inline<Self> for inline encodings, Blob<Self> for blob encodings, or Inline<Handle<Self>> for the precomputed-handle case where Self: BlobEncoding.
Source§

fn encode(source: &OwnedId<'_>) -> Inline<GenId>

Run the encoding.
Source§

impl Encodes<OwnedId<'_>> for GenId

Source§

type Output = Inline<GenId>

The concrete form this source produces when encoded for this schema. Inline<Self> for inline encodings, Blob<Self> for blob encodings, or Inline<Handle<Self>> for the precomputed-handle case where Self: BlobEncoding.
Source§

fn encode(source: OwnedId<'_>) -> Inline<GenId>

Run the encoding.

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for OwnedId<'a>

§

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

§

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

§

impl<'a> !UnwindSafe for OwnedId<'a>

§

impl<'a> Freeze for OwnedId<'a>

§

impl<'a> Unpin for OwnedId<'a>

§

impl<'a> UnsafeUnpin for OwnedId<'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<S, T> IntoBlob<S> for T
where S: BlobEncoding, T: IntoEncoded<S, Output = Blob<S>>,

Source§

fn to_blob(self) -> Blob<S>
where Self: Sized,

Convert directly to Blob<S>.
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<S, T> IntoEncoded<S> for T
where S: Encodes<T>,

Source§

type Output = <S as Encodes<T>>::Output

The concrete form this source produces.
Source§

fn into_encoded(self) -> <T as IntoEncoded<S>>::Output

Run the conversion.
Source§

impl<S, T> IntoInline<S> for T
where S: InlineEncoding, T: IntoEncoded<S, Output = Inline<S>>,

Source§

fn to_inline(self) -> Inline<S>
where Self: Sized,

Convert directly to Inline<S>.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToHex for T
where T: AsRef<[u8]>,

Source§

fn encode_hex<U>(&self) -> U
where U: FromIterator<char>,

Encode the hex strict representing self into the result. Lower case letters are used (e.g. f9b4ca)
Source§

fn encode_hex_upper<U>(&self) -> U
where U: FromIterator<char>,

Encode the hex strict representing self into the result. Upper case letters are used (e.g. F9B4CA)
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V