Struct aho_corasick::packed::Builder
source · [−]pub struct Builder { /* private fields */ }
Expand description
A builder for constructing a packed searcher from a collection of patterns.
Example
This example shows how to use a builder to construct a searcher. By default, leftmost-first match semantics are used.
use aho_corasick::packed::{Builder, MatchKind};
let searcher = Builder::new()
.add("foobar")
.add("foo")
.build()?;
let matches: Vec<usize> = searcher
.find_iter("foobar")
.map(|mat| mat.pattern())
.collect();
assert_eq!(vec![0], matches);
Implementations
sourceimpl Builder
impl Builder
sourcepub fn new() -> Builder
pub fn new() -> Builder
Create a new builder for constructing a multi-pattern searcher. This constructor uses the default configuration.
sourcepub fn build(&self) -> Option<Searcher>
pub fn build(&self) -> Option<Searcher>
Build a searcher from the patterns added to this builder so far.
sourcepub fn add<P: AsRef<[u8]>>(&mut self, pattern: P) -> &mut Builder
pub fn add<P: AsRef<[u8]>>(&mut self, pattern: P) -> &mut Builder
Add the given pattern to this set to match.
The order in which patterns are added is significant. Namely, when using leftmost-first match semantics, then when multiple patterns can match at a particular location, the pattern that was added first is used as the match.
If the number of patterns added exceeds the amount supported by packed
searchers, then the builder will stop accumulating patterns and render
itself inert. At this point, constructing a searcher will always return
None
.
sourcepub fn extend<I, P>(&mut self, patterns: I) -> &mut Builder where
I: IntoIterator<Item = P>,
P: AsRef<[u8]>,
pub fn extend<I, P>(&mut self, patterns: I) -> &mut Builder where
I: IntoIterator<Item = P>,
P: AsRef<[u8]>,
Add the given iterator of patterns to this set to match.
The iterator must yield elements that can be converted into a &[u8]
.
The order in which patterns are added is significant. Namely, when using leftmost-first match semantics, then when multiple patterns can match at a particular location, the pattern that was added first is used as the match.
If the number of patterns added exceeds the amount supported by packed
searchers, then the builder will stop accumulating patterns and render
itself inert. At this point, constructing a searcher will always return
None
.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl UnwindSafe for Builder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more