|
|
@ -8,13 +8,15 @@ use std::collections::{
|
|
|
|
};
|
|
|
|
};
|
|
|
|
use smallvec::SmallVec;
|
|
|
|
use smallvec::SmallVec;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// An iterator over entries in a store matching *any* tags
|
|
|
|
#[derive(Debug)]
|
|
|
|
#[derive(Debug)]
|
|
|
|
pub struct StoreSearchAnyIter<'a, T: ?Sized>(&'a Store, Option<Range<'a, String, ArenaIndex>>, VecDeque<&'a sha256::Sha256Hash>, PhantomData<T>);
|
|
|
|
pub struct StoreSearchAnyIter<'a, T: ?Sized>(&'a Store, Option<Range<'a, String, ArenaIndex>>, VecDeque<&'a sha256::Sha256Hash>, PhantomData<T>);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// An iterator over entries in a store matching *all* tags
|
|
|
|
#[derive(Debug)]
|
|
|
|
#[derive(Debug)]
|
|
|
|
pub struct StoreSearchAllIter<'a, T: ?Sized>(&'a Store, Option<Range<'a, String, ArenaIndex>>, VecDeque<&'a Entry>, SmallVec<[&'a T; 8]>);
|
|
|
|
pub struct StoreSearchAllIter<'a, T: ?Sized>(&'a Store, Option<Range<'a, String, ArenaIndex>>, VecDeque<&'a Entry>, SmallVec<[&'a T; 8]>);
|
|
|
|
|
|
|
|
|
|
|
|
// Accessing
|
|
|
|
// Searching by tags
|
|
|
|
impl Store
|
|
|
|
impl Store
|
|
|
|
{
|
|
|
|
{
|
|
|
|
/// Search for all entries with *all* of these provided tags.
|
|
|
|
/// Search for all entries with *all* of these provided tags.
|
|
|
|