pub struct MappedDocuments<D, V>where
V: View,{
pub mappings: Vec<CollectionMap<<<V as View>::Collection as Collection>::PrimaryKey, <V as View>::Key, <V as View>::Value>>,
pub documents: BTreeMap<<<V as View>::Collection as Collection>::PrimaryKey, D>,
}
Expand description
A collection of mappings and the associated documents.
Fields§
§mappings: Vec<CollectionMap<<<V as View>::Collection as Collection>::PrimaryKey, <V as View>::Key, <V as View>::Value>>
The collection of mappings.
documents: BTreeMap<<<V as View>::Collection as Collection>::PrimaryKey, D>
All associated documents by ID.
Documents can appear in a mapping query multiple times. As a result, they are stored separately to avoid duplication.
Implementations§
source§impl<D, V> MappedDocuments<D, V>where
V: View,
impl<D, V> MappedDocuments<D, V>where
V: View,
sourcepub fn get(
&self,
index: usize
) -> Option<MappedDocument<'_, D, <V as View>::Key, <V as View>::Value>>
pub fn get( &self, index: usize ) -> Option<MappedDocument<'_, D, <V as View>::Key, <V as View>::Value>>
Returns the mapped document atindex
, or None
if index >= self.len()
.
sourcepub const fn iter(&self) -> MappedDocumentsIter<'_, D, V> ⓘ
pub const fn iter(&self) -> MappedDocumentsIter<'_, D, V> ⓘ
Returns an iterator over the contained mapped documents.
Trait Implementations§
source§impl<D, V> Debug for MappedDocuments<D, V>where
V: View,
<V as View>::Key: Debug,
<V as View>::Value: Debug,
D: Debug,
<<V as View>::Collection as Collection>::PrimaryKey: Debug,
impl<D, V> Debug for MappedDocuments<D, V>where
V: View,
<V as View>::Key: Debug,
<V as View>::Value: Debug,
D: Debug,
<<V as View>::Collection as Collection>::PrimaryKey: Debug,
source§impl<'a, D, V> IntoIterator for &'a MappedDocuments<D, V>where
V: View,
impl<'a, D, V> IntoIterator for &'a MappedDocuments<D, V>where
V: View,
§type IntoIter = MappedDocumentsIter<'a, D, V>
type IntoIter = MappedDocumentsIter<'a, D, V>
Which kind of iterator are we turning this into?
§type Item = MappedDocument<'a, D, <V as View>::Key, <V as View>::Value>
type Item = MappedDocument<'a, D, <V as View>::Key, <V as View>::Value>
The type of the elements being iterated over.
source§fn into_iter(self) -> <&'a MappedDocuments<D, V> as IntoIterator>::IntoIter
fn into_iter(self) -> <&'a MappedDocuments<D, V> as IntoIterator>::IntoIter
Creates an iterator from a value. Read more
Auto Trait Implementations§
impl<D, V> RefUnwindSafe for MappedDocuments<D, V>where
D: RefUnwindSafe,
<V as View>::Key: RefUnwindSafe,
<<V as View>::Collection as Collection>::PrimaryKey: RefUnwindSafe,
<V as View>::Value: RefUnwindSafe,
impl<D, V> Send for MappedDocuments<D, V>where
D: Send,
impl<D, V> Sync for MappedDocuments<D, V>where
D: Sync,
impl<D, V> Unpin for MappedDocuments<D, V>where
<V as View>::Key: Unpin,
<<V as View>::Collection as Collection>::PrimaryKey: Unpin,
<V as View>::Value: Unpin,
impl<D, V> UnwindSafe for MappedDocuments<D, V>where
D: RefUnwindSafe,
<V as View>::Key: UnwindSafe,
<<V as View>::Collection as Collection>::PrimaryKey: UnwindSafe + RefUnwindSafe,
<V as View>::Value: UnwindSafe,
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more