Attached

Struct Attached 

Source
pub struct Attached<Main, Attachment> { /* private fields */ }
Expand description

Pair of main data and attached metadata.

Implementations§

Source§

impl<Main, Attachment> Attached<Main, Attachment>

Source

pub const fn new(main: Main, attachment: Attachment) -> Self

Pair main with attachment.

Source

pub fn into_tuple(attached: Self) -> (Main, Attachment)

Separate main from attachment.

Trait Implementations§

Source§

impl<Main, Attachment> AsMut<Main> for Attached<Main, Attachment>

Source§

fn as_mut(&mut self) -> &mut Main

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

impl<Main, Attachment> AsRef<Main> for Attached<Main, Attachment>

Source§

fn as_ref(&self) -> &Main

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

impl<Main, Attachment> AttachedUtils for Attached<Main, Attachment>

Source§

type Main = Main

Main data.
Source§

type Attachment = Attachment

Attached metadata.
Source§

fn main(&self) -> &Self::Main

Get an immutable reference to the main data.
Source§

fn main_mut(&mut self) -> &mut Self::Main

Get a mutable reference to the main data.
Source§

fn attachment(&self) -> &Self::Attachment

Get an immutable reference to the attached metadata.
Source§

fn attachment_mut(&mut self) -> &mut Self::Attachment

Get a mutable reference to the attached data.
Source§

fn into_tuple(self) -> (Self::Main, Self::Attachment)

Separate the main data from the attached metadata.
Source§

fn tuple_mut(&mut self) -> (&mut Self::Main, &mut Self::Attachment)

Get two mutable reference to the main data and the attached metadata.
Source§

fn into_main(self) -> Self::Main

Discard the attached metadata.
Source§

fn copy_attachment(&self) -> Self::Attachment
where Self::Attachment: Copy,

Get a copy of the attached metadata.
Source§

fn clone_attachment(&self) -> Self::Attachment
where Self::Attachment: Clone,

Get a clone of the attached metadata.
Source§

fn map<F, Y>(self, f: F) -> Attached<Y, Self::Attachment>
where F: FnOnce(Self::Main) -> Y,

Map the main data.
Source§

fn flatten( self, ) -> Attached<<Self::Main as AttachedUtils>::Main, (Self::Attachment, <Self::Main as AttachedUtils>::Attachment)>
where Self::Main: AttachedUtils,

Flatten a pair with nested main.
Source§

fn transpose( self, ) -> Attached<Attached<<Self::Main as AttachedUtils>::Main, Self::Attachment>, <Self::Main as AttachedUtils>::Attachment>
where Self::Main: AttachedUtils,

Swap inner and outer attachment types of a pair with nested main.
Source§

fn as_deref(&self) -> Attached<&Self::Main, &Self::Attachment>

Convert an immutable reference of a whole pair to an owned pair of immutable references.
Source§

fn as_deref_mut(&mut self) -> Attached<&mut Self::Main, &mut Self::Attachment>

Convert a mutable reference of a whole pair to an owned pair of mutable references.
Source§

fn copied(self) -> Attached<<Self::Main as Deref>::Target, Self::Attachment>
where Self::Main: Deref<Target: Copy>,

Copy the bits of the main data.
Source§

fn cloned(self) -> Attached<<Self::Main as Deref>::Target, Self::Attachment>
where Self::Main: Deref<Target: Clone>,

Clone the main data.
Source§

fn copied_attachment( self, ) -> Attached<Self::Main, <Self::Attachment as Deref>::Target>
where Self::Attachment: Deref<Target: Copy>,

Copy the bits of the attached metadata.
Source§

fn cloned_attachment( self, ) -> Attached<Self::Main, <Self::Attachment as Deref>::Target>
where Self::Attachment: Deref<Target: Clone>,

Clone the attached metadata.
Source§

fn replace(&mut self, main: Self::Main) -> Self::Main

Replace the main data.
Source§

fn replace_attachment( &mut self, attachment: Self::Attachment, ) -> Self::Attachment

Replace the attached metadata.
Source§

impl<Main: Clone, Attachment: Clone> Clone for Attached<Main, Attachment>

Source§

fn clone(&self) -> Attached<Main, Attachment>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<Main: Debug, Attachment: Debug> Debug for Attached<Main, Attachment>

Source§

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

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

impl<Main, Attachment> Deref for Attached<Main, Attachment>

Source§

type Target = Main

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl<Main, Attachment> DerefMut for Attached<Main, Attachment>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl<Main, Attachment> Display for Attached<Main, Attachment>
where Main: Display + Display,

Source§

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

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

impl<Main, Attachment> Error for Attached<Main, Attachment>
where Main: Debug + Display + Error + 'static, Attached<Main, Attachment>: Debug + Display,

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl<'a, Querier: Query<'a>, Attachment> Query<'a> for Attached<Querier, Attachment>

Source§

impl<'a, Querier: QueryMut<'a>, Attachment> QueryMut<'a> for Attached<Querier, Attachment>

Source§

fn query_raw_text_mut(&mut self, field: ParsedField) -> Option<&'a str>

Source§

fn file_name_mut(&mut self) -> Option<FileName<'a>>

Source§

fn name_mut(&mut self) -> Option<Name<'a>>

Source§

fn base_mut(&mut self) -> Option<Base<'a>>

Source§

fn version_mut(&mut self) -> Option<Version<'a>>

Source§

fn description_mut(&mut self) -> Option<Description<'a>>

Source§

fn groups_mut(&mut self) -> Option<GroupList<'a>>

Source§

fn compressed_size_mut(&mut self) -> Option<Size<'a>>

Source§

fn installed_size_mut(&mut self) -> Option<Size<'a>>

Source§

fn md5_checksum_mut(&mut self) -> Option<Hex128<'a>>

Source§

fn sha256_checksum_mut(&mut self) -> Option<Hex256<'a>>

Source§

fn pgp_signature_mut(&mut self) -> Option<PgpSignature<'a>>

Source§

fn url_mut(&mut self) -> Option<Url<'a>>

Source§

fn license_mut(&mut self) -> Option<LicenseList<'a>>

Source§

fn architecture_mut(&mut self) -> Option<ArchitectureList<'a>>

Source§

fn build_date_mut(&mut self) -> Option<Timestamp<'a>>

Source§

fn packager_mut(&mut self) -> Option<Packager<'a>>

Source§

fn dependencies_mut(&mut self) -> Option<DependencyList<'a>>

Source§

fn make_dependencies_mut(&mut self) -> Option<DependencyList<'a>>

Source§

fn check_dependencies_mut(&mut self) -> Option<DependencyList<'a>>

Source§

fn opt_dependencies_mut(&mut self) -> Option<DependencyAndReasonList<'a>>

Source§

fn provides_mut(&mut self) -> Option<DependencyList<'a>>

Source§

fn conflicts_mut(&mut self) -> Option<DependencyList<'a>>

Source§

fn replaces_mut(&mut self) -> Option<DependencyList<'a>>

Source§

impl<Querier: ReuseAdvice, Attachment> ReuseAdvice for Attached<Querier, Attachment>

Source§

type ShouldReuse = <Querier as ReuseAdvice>::ShouldReuse

Whether the querier should be reused.
Source§

impl<Main: Copy, Attachment: Copy> Copy for Attached<Main, Attachment>

Auto Trait Implementations§

§

impl<Main, Attachment> Freeze for Attached<Main, Attachment>
where Main: Freeze, Attachment: Freeze,

§

impl<Main, Attachment> RefUnwindSafe for Attached<Main, Attachment>
where Main: RefUnwindSafe, Attachment: RefUnwindSafe,

§

impl<Main, Attachment> Send for Attached<Main, Attachment>
where Main: Send, Attachment: Send,

§

impl<Main, Attachment> Sync for Attached<Main, Attachment>
where Main: Sync, Attachment: Sync,

§

impl<Main, Attachment> Unpin for Attached<Main, Attachment>
where Main: Unpin, Attachment: Unpin,

§

impl<Main, Attachment> UnwindSafe for Attached<Main, Attachment>
where Main: UnwindSafe, Attachment: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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<Main> IntoAttached for Main

Source§

fn into_attached<Attachment>( self, attachment: Attachment, ) -> Attached<Self, Attachment>

Attach metadata to an object.
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<T> Is for T

Source§

type Type = T

Source§

fn into_val(self) -> <T as Is>::Type

Source§

fn into_ref(&self) -> &<T as Is>::Type

Source§

fn into_mut_ref(&mut self) -> &mut <T as Is>::Type

Source§

fn from_val(x: <T as Is>::Type) -> T

Source§

fn from_ref(x: &<T as Is>::Type) -> &T

Source§

fn from_mut_ref(x: &mut <T as Is>::Type) -> &mut T

Source§

impl<X> Pipe for X

Source§

fn pipe<Return, Function>(self, f: Function) -> Return
where Self: Sized, Function: FnOnce(Self) -> Return,

Apply f to self. Read more
Source§

fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Return
where Function: FnOnce(&'a Self) -> Return,

Apply f to &self. Read more
Source§

fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Return
where Function: FnOnce(&'a mut Self) -> Return,

Apply f to &mut self. Read more
Source§

fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
where Self: AsRef<Param>, Param: 'a + ?Sized, Function: FnOnce(&'a Param) -> Return,

Apply f to &self where f takes a single parameter of type Param and Self implements trait AsRef<Param>. Read more
Source§

fn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Return
where Self: AsMut<Param>, Param: 'a + ?Sized, Function: FnOnce(&'a mut Param) -> Return,

Apply f to &mut self where f takes a single parameter of type Param and Self implements trait AsMut<Param>. Read more
Source§

fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
where Self: Deref<Target = Param>, Param: 'a + ?Sized, Function: FnOnce(&'a Param) -> Return,

Apply f to &self where f takes a single parameter of type Param and Self implements trait Deref<Target = Param>. Read more
Source§

fn pipe_deref_mut<'a, Param, Return, Function>( &'a mut self, f: Function, ) -> Return
where Self: DerefMut<Target = Param>, Param: 'a + ?Sized, Function: FnOnce(&'a mut Param) -> Return,

Apply f to &mut self where f takes a single parameter of type Param and Self implements trait DerefMut<Target = Param>. Read more
Source§

fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return
where Self: Borrow<Param>, Param: 'a + ?Sized, Function: FnOnce(&'a Param) -> Return,

Apply f to &self where f takes a single parameter of type Param and Self implements trait Borrow<Param>. Read more
Source§

fn pipe_borrow_mut<'a, Param, Return, Function>( &'a mut self, f: Function, ) -> Return
where Self: BorrowMut<Param>, Param: 'a + ?Sized, Function: FnOnce(&'a mut Param) -> Return,

Apply f to &mut self where f takes a single parameter of type Param and Self implements trait BorrowMut<Param>. Read more
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<Querier> ReuseAdviceBool for Querier
where Querier: ReuseAdvice + ?Sized,

Source§

const SHOULD_REUSE: bool = <Self::ShouldReuse>::VALUE

The value of ReuseAdvice::ShouldReuse as a bool.
Source§

impl<Querier> ReuseAdviceSelf for Querier
where Querier: ReuseAdvice + ?Sized,

Source§

fn should_reuse(&self) -> bool

Determine wether self should be reused.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<Querier> ShouldReuse for Querier
where Querier: ReuseAdvice<ShouldReuse = True> + ?Sized,