pub struct GlobSet<'a> { /* private fields */ }Implementations§
Source§impl<'a> GlobSet<'a>
impl<'a> GlobSet<'a>
Sourcepub fn from_iter<I0, I1>(iter: I0) -> Option<Self>
pub fn from_iter<I0, I1>(iter: I0) -> Option<Self>
§Makes new instance from an iterator of Cow<'a, str>
§Notes
- Empty strings will be ignored.
- If the iterator contains no globs,
Noneis returned.
§Examples
use sub_strs::GlobSet;
let glob_set = GlobSet::from_iter("*.rs|*.md".split('|')).unwrap();
assert!(glob_set.any("this.rs"));
assert!(glob_set.any("that.md"));
assert!(glob_set.any("not-this") == false);Sourcepub fn merge<I>(iter: I) -> Option<Self>where
I: IntoIterator<Item = Self>,
pub fn merge<I>(iter: I) -> Option<Self>where
I: IntoIterator<Item = Self>,
§Merges an iterator of GlobSet<'a> into one
§Notes
- If there are no inner
Glob’s,Noneis returned. - For
#![no_std]users: this function takes little effort to remove duplicates. You should help with that yourself (by not providing duplicates).
§Examples
use sub_strs::GlobSet;
let program_args = &["*.svg,*.OGG", "*.md"];
let glob_set = GlobSet::merge(
program_args.iter().filter_map(|s|
GlobSet::from_iter(s.to_lowercase().split(',').map(|s| s.to_string()))
)
);
assert!(glob_set.map(|g| g.any("some.ogg")).unwrap_or(false));Trait Implementations§
impl<'a> Eq for GlobSet<'a>
impl<'a> StructuralPartialEq for GlobSet<'a>
Auto Trait Implementations§
impl<'a> Freeze for GlobSet<'a>
impl<'a> RefUnwindSafe for GlobSet<'a>
impl<'a> Send for GlobSet<'a>
impl<'a> Sync for GlobSet<'a>
impl<'a> Unpin for GlobSet<'a>
impl<'a> UnwindSafe for GlobSet<'a>
Blanket Implementations§
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