[−][src]Trait restor::FetchMultiple
An abstraction over Fetch
which works over multiple types, and the
six types which have Fetch
pre-implemented. This is therefore implemented
for the following types:
&T
&mut T
&[T]
&mut [T]
Box<T>
Vec<T>
(A,)
(A, B)
(A, B, C)
(A, B, C, D)
- ...
(A, B, C, D, E, F, G, H, I, J, K)
Where each one of the type parameters in the tuple versions must implement
Fetch
.
Associated Types
Loading content...Required methods
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
Implementations on Foreign Types
impl<'a, U: ?Sized, T: Sized + Any + 'static> FetchMultiple<'a, U> for &'a T where
U: for<'b> Unit<'b>,
<U as Unit<'a>>::Borrowed: Map<dyn Any, StorageUnit<T>, Func = dyn Fn(&dyn Any) -> &StorageUnit<T>>,
<<U as Unit<'a>>::Borrowed as Map<dyn Any, StorageUnit<T>>>::Output: Map<StorageUnit<T>, T, Func = dyn Fn(&StorageUnit<T>) -> &T>,
&'a T: Fetch<'a, U>,
[src]
U: for<'b> Unit<'b>,
<U as Unit<'a>>::Borrowed: Map<dyn Any, StorageUnit<T>, Func = dyn Fn(&dyn Any) -> &StorageUnit<T>>,
<<U as Unit<'a>>::Borrowed as Map<dyn Any, StorageUnit<T>>>::Output: Map<StorageUnit<T>, T, Func = dyn Fn(&StorageUnit<T>) -> &T>,
&'a T: Fetch<'a, U>,
type Output = <&'a T as Fetch<'a, U>>::Output
type Actual = <&'a T as Fetch<'a, U>>::Actual
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, T: Sized + Any + 'static> FetchMultiple<'a, U> for &'a mut T where
U: for<'b> Unit<'b>,
<U as Unit<'a>>::MutBorrowed: MapMut<dyn Any, StorageUnit<T>, Func = dyn Fn(&mut dyn Any) -> &mut StorageUnit<T>>,
<<U as Unit<'a>>::MutBorrowed as MapMut<dyn Any, StorageUnit<T>>>::Output: MapMut<StorageUnit<T>, T, Func = dyn Fn(&mut StorageUnit<T>) -> &mut T>,
&'a mut T: Fetch<'a, U>,
[src]
U: for<'b> Unit<'b>,
<U as Unit<'a>>::MutBorrowed: MapMut<dyn Any, StorageUnit<T>, Func = dyn Fn(&mut dyn Any) -> &mut StorageUnit<T>>,
<<U as Unit<'a>>::MutBorrowed as MapMut<dyn Any, StorageUnit<T>>>::Output: MapMut<StorageUnit<T>, T, Func = dyn Fn(&mut StorageUnit<T>) -> &mut T>,
&'a mut T: Fetch<'a, U>,
type Output = <&'a mut T as Fetch<'a, U>>::Output
type Actual = <&'a mut T as Fetch<'a, U>>::Actual
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, T: Sized + Any + 'static> FetchMultiple<'a, U> for &'a [T] where
U: for<'b> Unit<'b>,
<U as Unit<'a>>::Borrowed: Map<dyn Any, StorageUnit<T>, Func = dyn Fn(&dyn Any) -> &StorageUnit<T>>,
<<U as Unit<'a>>::Borrowed as Map<dyn Any, StorageUnit<T>>>::Output: Map<StorageUnit<T>, [T], Func = dyn Fn(&StorageUnit<T>) -> &[T]>,
&'a [T]: Fetch<'a, U>,
[src]
U: for<'b> Unit<'b>,
<U as Unit<'a>>::Borrowed: Map<dyn Any, StorageUnit<T>, Func = dyn Fn(&dyn Any) -> &StorageUnit<T>>,
<<U as Unit<'a>>::Borrowed as Map<dyn Any, StorageUnit<T>>>::Output: Map<StorageUnit<T>, [T], Func = dyn Fn(&StorageUnit<T>) -> &[T]>,
&'a [T]: Fetch<'a, U>,
type Output = <&'a [T] as Fetch<'a, U>>::Output
type Actual = <&'a [T] as Fetch<'a, U>>::Actual
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, T: Sized + Any + 'static> FetchMultiple<'a, U> for &'a mut [T] where
U: for<'b> Unit<'b>,
<U as Unit<'a>>::MutBorrowed: MapMut<dyn Any, StorageUnit<T>, Func = dyn Fn(&mut dyn Any) -> &mut StorageUnit<T>>,
<<U as Unit<'a>>::MutBorrowed as MapMut<dyn Any, StorageUnit<T>>>::Output: MapMut<StorageUnit<T>, [T], Func = dyn Fn(&mut StorageUnit<T>) -> &mut [T]>,
&'a mut [T]: Fetch<'a, U>,
[src]
U: for<'b> Unit<'b>,
<U as Unit<'a>>::MutBorrowed: MapMut<dyn Any, StorageUnit<T>, Func = dyn Fn(&mut dyn Any) -> &mut StorageUnit<T>>,
<<U as Unit<'a>>::MutBorrowed as MapMut<dyn Any, StorageUnit<T>>>::Output: MapMut<StorageUnit<T>, [T], Func = dyn Fn(&mut StorageUnit<T>) -> &mut [T]>,
&'a mut [T]: Fetch<'a, U>,
type Output = <&'a mut [T] as Fetch<'a, U>>::Output
type Actual = <&'a mut [T] as Fetch<'a, U>>::Actual
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, T: Sized + Any + 'static> FetchMultiple<'a, U> for Box<T> where
U: for<'b> Unit<'b>,
<U as Unit<'a>>::MutBorrowed: MapMut<dyn Any, StorageUnit<T>, Func = dyn Fn(&mut dyn Any) -> &mut StorageUnit<T>>,
Box<T>: Fetch<'a, U>,
[src]
U: for<'b> Unit<'b>,
<U as Unit<'a>>::MutBorrowed: MapMut<dyn Any, StorageUnit<T>, Func = dyn Fn(&mut dyn Any) -> &mut StorageUnit<T>>,
Box<T>: Fetch<'a, U>,
type Output = <Box<T> as Fetch<'a, U>>::Output
type Actual = <Box<T> as Fetch<'a, U>>::Actual
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, T: Sized + Any + 'static> FetchMultiple<'a, U> for Vec<T> where
U: for<'b> Unit<'b>,
<U as Unit<'a>>::MutBorrowed: MapMut<dyn Any, StorageUnit<T>, Func = dyn Fn(&mut dyn Any) -> &mut StorageUnit<T>>,
Vec<T>: Fetch<'a, U>,
[src]
U: for<'b> Unit<'b>,
<U as Unit<'a>>::MutBorrowed: MapMut<dyn Any, StorageUnit<T>, Func = dyn Fn(&mut dyn Any) -> &mut StorageUnit<T>>,
Vec<T>: Fetch<'a, U>,
type Output = <Vec<T> as Fetch<'a, U>>::Output
type Actual = <Vec<T> as Fetch<'a, U>>::Actual
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, A, B, C, D, E, F, G, H, I, J, K> FetchMultiple<'a, U> for (A, B, C, D, E, F, G, H, I, J, K) where
B: Fetch<'a, U>,
C: Fetch<'a, U>,
D: Fetch<'a, U>,
E: Fetch<'a, U>,
F: Fetch<'a, U>,
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
A: Fetch<'a, U>,
U: Unit<'a>,
[src]
B: Fetch<'a, U>,
C: Fetch<'a, U>,
D: Fetch<'a, U>,
E: Fetch<'a, U>,
F: Fetch<'a, U>,
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
A: Fetch<'a, U>,
U: Unit<'a>,
type Output = (A::Output, B::Output, C::Output, D::Output, E::Output, F::Output, G::Output, H::Output, I::Output, J::Output, K::Output)
type Actual = (A::Actual, B::Actual, C::Actual, D::Actual, E::Actual, F::Actual, G::Actual, H::Actual, I::Actual, J::Actual, K::Actual)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, B, C, D, E, F, G, H, I, J, K> FetchMultiple<'a, U> for (B, C, D, E, F, G, H, I, J, K) where
C: Fetch<'a, U>,
D: Fetch<'a, U>,
E: Fetch<'a, U>,
F: Fetch<'a, U>,
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
B: Fetch<'a, U>,
U: Unit<'a>,
[src]
C: Fetch<'a, U>,
D: Fetch<'a, U>,
E: Fetch<'a, U>,
F: Fetch<'a, U>,
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
B: Fetch<'a, U>,
U: Unit<'a>,
type Output = (B::Output, C::Output, D::Output, E::Output, F::Output, G::Output, H::Output, I::Output, J::Output, K::Output)
type Actual = (B::Actual, C::Actual, D::Actual, E::Actual, F::Actual, G::Actual, H::Actual, I::Actual, J::Actual, K::Actual)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, C, D, E, F, G, H, I, J, K> FetchMultiple<'a, U> for (C, D, E, F, G, H, I, J, K) where
D: Fetch<'a, U>,
E: Fetch<'a, U>,
F: Fetch<'a, U>,
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
C: Fetch<'a, U>,
U: Unit<'a>,
[src]
D: Fetch<'a, U>,
E: Fetch<'a, U>,
F: Fetch<'a, U>,
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
C: Fetch<'a, U>,
U: Unit<'a>,
type Output = (C::Output, D::Output, E::Output, F::Output, G::Output, H::Output, I::Output, J::Output, K::Output)
type Actual = (C::Actual, D::Actual, E::Actual, F::Actual, G::Actual, H::Actual, I::Actual, J::Actual, K::Actual)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, D, E, F, G, H, I, J, K> FetchMultiple<'a, U> for (D, E, F, G, H, I, J, K) where
E: Fetch<'a, U>,
F: Fetch<'a, U>,
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
D: Fetch<'a, U>,
U: Unit<'a>,
[src]
E: Fetch<'a, U>,
F: Fetch<'a, U>,
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
D: Fetch<'a, U>,
U: Unit<'a>,
type Output = (D::Output, E::Output, F::Output, G::Output, H::Output, I::Output, J::Output, K::Output)
type Actual = (D::Actual, E::Actual, F::Actual, G::Actual, H::Actual, I::Actual, J::Actual, K::Actual)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, E, F, G, H, I, J, K> FetchMultiple<'a, U> for (E, F, G, H, I, J, K) where
F: Fetch<'a, U>,
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
E: Fetch<'a, U>,
U: Unit<'a>,
[src]
F: Fetch<'a, U>,
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
E: Fetch<'a, U>,
U: Unit<'a>,
type Output = (E::Output, F::Output, G::Output, H::Output, I::Output, J::Output, K::Output)
type Actual = (E::Actual, F::Actual, G::Actual, H::Actual, I::Actual, J::Actual, K::Actual)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, F, G, H, I, J, K> FetchMultiple<'a, U> for (F, G, H, I, J, K) where
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
F: Fetch<'a, U>,
U: Unit<'a>,
[src]
G: Fetch<'a, U>,
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
F: Fetch<'a, U>,
U: Unit<'a>,
type Output = (F::Output, G::Output, H::Output, I::Output, J::Output, K::Output)
type Actual = (F::Actual, G::Actual, H::Actual, I::Actual, J::Actual, K::Actual)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, G, H, I, J, K> FetchMultiple<'a, U> for (G, H, I, J, K) where
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
G: Fetch<'a, U>,
U: Unit<'a>,
[src]
H: Fetch<'a, U>,
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
G: Fetch<'a, U>,
U: Unit<'a>,
type Output = (G::Output, H::Output, I::Output, J::Output, K::Output)
type Actual = (G::Actual, H::Actual, I::Actual, J::Actual, K::Actual)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, H, I, J, K> FetchMultiple<'a, U> for (H, I, J, K) where
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
H: Fetch<'a, U>,
U: Unit<'a>,
[src]
I: Fetch<'a, U>,
J: Fetch<'a, U>,
K: Fetch<'a, U>,
H: Fetch<'a, U>,
U: Unit<'a>,
type Output = (H::Output, I::Output, J::Output, K::Output)
type Actual = (H::Actual, I::Actual, J::Actual, K::Actual)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, I, J, K> FetchMultiple<'a, U> for (I, J, K) where
J: Fetch<'a, U>,
K: Fetch<'a, U>,
I: Fetch<'a, U>,
U: Unit<'a>,
[src]
J: Fetch<'a, U>,
K: Fetch<'a, U>,
I: Fetch<'a, U>,
U: Unit<'a>,
type Output = (I::Output, J::Output, K::Output)
type Actual = (I::Actual, J::Actual, K::Actual)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, J, K> FetchMultiple<'a, U> for (J, K) where
K: Fetch<'a, U>,
J: Fetch<'a, U>,
U: Unit<'a>,
[src]
K: Fetch<'a, U>,
J: Fetch<'a, U>,
U: Unit<'a>,
type Output = (J::Output, K::Output)
type Actual = (J::Actual, K::Actual)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
impl<'a, U: ?Sized, K> FetchMultiple<'a, U> for (K,) where
K: Fetch<'a, U>,
U: Unit<'a>,
[src]
K: Fetch<'a, U>,
U: Unit<'a>,
type Output = (K::Output,)
type Actual = (K::Actual,)
fn get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc>
[src]
fn waiting_get_many(boxed: &'a BlackBox<U>) -> Result<Self::Output, ErrorDesc> where
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,
[src]
<U as Unit<'a>>::Borrowed: Waitable,
<U as Unit<'a>>::MutBorrowed: Waitable,