From 64106c4d3d4ddba8c7bc2af75376e6d3d3d75601 Mon Sep 17 00:00:00 2001 From: Date: Mon, 29 Jun 2015 20:16:15 +0000 Subject: Update documentation --- aho_corasick/autiter/index.html | 0 aho_corasick/autiter/sidebar-items.js | 1 + aho_corasick/autiter/struct.Match.html | 10 + aho_corasick/autiter/struct.Matches.html | 10 + .../autiter/struct.MatchesOverlapping.html | 10 + aho_corasick/autiter/struct.StreamMatches.html | 10 + .../autiter/struct.StreamMatchesOverlapping.html | 10 + aho_corasick/autiter/trait.Automaton.html | 10 + aho_corasick/full/index.html | 0 aho_corasick/full/sidebar-items.js | 1 + aho_corasick/full/struct.FullAcAutomaton.html | 10 + aho_corasick/index.html | 324 +++++++++++++++++++++ aho_corasick/sidebar-items.js | 1 + aho_corasick/struct.AcAutomaton.html | 138 +++++++++ aho_corasick/struct.Dense.html | 110 +++++++ aho_corasick/struct.FullAcAutomaton.html | 130 +++++++++ aho_corasick/struct.Match.html | 126 ++++++++ aho_corasick/struct.Matches.html | 152 ++++++++++ aho_corasick/struct.MatchesOverlapping.html | 152 ++++++++++ aho_corasick/struct.Sparse.html | 111 +++++++ aho_corasick/struct.StreamMatches.html | 152 ++++++++++ aho_corasick/struct.StreamMatchesOverlapping.html | 152 ++++++++++ aho_corasick/trait.Automaton.html | 155 ++++++++++ aho_corasick/trait.Transitions.html | 125 ++++++++ aho_corasick/type.StateIdx.html | 105 +++++++ 25 files changed, 2005 insertions(+) create mode 100644 aho_corasick/autiter/index.html create mode 100644 aho_corasick/autiter/sidebar-items.js create mode 100644 aho_corasick/autiter/struct.Match.html create mode 100644 aho_corasick/autiter/struct.Matches.html create mode 100644 aho_corasick/autiter/struct.MatchesOverlapping.html create mode 100644 aho_corasick/autiter/struct.StreamMatches.html create mode 100644 aho_corasick/autiter/struct.StreamMatchesOverlapping.html create mode 100644 aho_corasick/autiter/trait.Automaton.html create mode 100644 aho_corasick/full/index.html create mode 100644 aho_corasick/full/sidebar-items.js create mode 100644 aho_corasick/full/struct.FullAcAutomaton.html create mode 100644 aho_corasick/index.html create mode 100644 aho_corasick/sidebar-items.js create mode 100644 aho_corasick/struct.AcAutomaton.html create mode 100644 aho_corasick/struct.Dense.html create mode 100644 aho_corasick/struct.FullAcAutomaton.html create mode 100644 aho_corasick/struct.Match.html create mode 100644 aho_corasick/struct.Matches.html create mode 100644 aho_corasick/struct.MatchesOverlapping.html create mode 100644 aho_corasick/struct.Sparse.html create mode 100644 aho_corasick/struct.StreamMatches.html create mode 100644 aho_corasick/struct.StreamMatchesOverlapping.html create mode 100644 aho_corasick/trait.Automaton.html create mode 100644 aho_corasick/trait.Transitions.html create mode 100644 aho_corasick/type.StateIdx.html (limited to 'aho_corasick') diff --git a/aho_corasick/autiter/index.html b/aho_corasick/autiter/index.html new file mode 100644 index 0000000..e69de29 diff --git a/aho_corasick/autiter/sidebar-items.js b/aho_corasick/autiter/sidebar-items.js new file mode 100644 index 0000000..f8e1ef2 --- /dev/null +++ b/aho_corasick/autiter/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"struct":[["Match","Records a match in the search text."],["Matches","An iterator of non-overlapping matches for in-memory text."],["MatchesOverlapping","An iterator of overlapping matches for in-memory text."],["StreamMatches","An iterator of non-overlapping matches for streaming text."],["StreamMatchesOverlapping","An iterator of overlapping matches for streaming text."]],"trait":[["Automaton","An abstraction over automatons and their corresponding iterators."]]}); \ No newline at end of file diff --git a/aho_corasick/autiter/struct.Match.html b/aho_corasick/autiter/struct.Match.html new file mode 100644 index 0000000..a44d052 --- /dev/null +++ b/aho_corasick/autiter/struct.Match.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../aho_corasick/struct.Match.html...

+ + + \ No newline at end of file diff --git a/aho_corasick/autiter/struct.Matches.html b/aho_corasick/autiter/struct.Matches.html new file mode 100644 index 0000000..282f6a2 --- /dev/null +++ b/aho_corasick/autiter/struct.Matches.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../aho_corasick/struct.Matches.html...

+ + + \ No newline at end of file diff --git a/aho_corasick/autiter/struct.MatchesOverlapping.html b/aho_corasick/autiter/struct.MatchesOverlapping.html new file mode 100644 index 0000000..61a752c --- /dev/null +++ b/aho_corasick/autiter/struct.MatchesOverlapping.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../aho_corasick/struct.MatchesOverlapping.html...

+ + + \ No newline at end of file diff --git a/aho_corasick/autiter/struct.StreamMatches.html b/aho_corasick/autiter/struct.StreamMatches.html new file mode 100644 index 0000000..84864b0 --- /dev/null +++ b/aho_corasick/autiter/struct.StreamMatches.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../aho_corasick/struct.StreamMatches.html...

+ + + \ No newline at end of file diff --git a/aho_corasick/autiter/struct.StreamMatchesOverlapping.html b/aho_corasick/autiter/struct.StreamMatchesOverlapping.html new file mode 100644 index 0000000..0051214 --- /dev/null +++ b/aho_corasick/autiter/struct.StreamMatchesOverlapping.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../aho_corasick/struct.StreamMatchesOverlapping.html...

+ + + \ No newline at end of file diff --git a/aho_corasick/autiter/trait.Automaton.html b/aho_corasick/autiter/trait.Automaton.html new file mode 100644 index 0000000..4240333 --- /dev/null +++ b/aho_corasick/autiter/trait.Automaton.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../aho_corasick/trait.Automaton.html...

+ + + \ No newline at end of file diff --git a/aho_corasick/full/index.html b/aho_corasick/full/index.html new file mode 100644 index 0000000..e69de29 diff --git a/aho_corasick/full/sidebar-items.js b/aho_corasick/full/sidebar-items.js new file mode 100644 index 0000000..d5d37be --- /dev/null +++ b/aho_corasick/full/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"struct":[["FullAcAutomaton","A complete Aho-Corasick automaton."]]}); \ No newline at end of file diff --git a/aho_corasick/full/struct.FullAcAutomaton.html b/aho_corasick/full/struct.FullAcAutomaton.html new file mode 100644 index 0000000..de4188d --- /dev/null +++ b/aho_corasick/full/struct.FullAcAutomaton.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../aho_corasick/struct.FullAcAutomaton.html...

+ + + \ No newline at end of file diff --git a/aho_corasick/index.html b/aho_corasick/index.html new file mode 100644 index 0000000..d337569 --- /dev/null +++ b/aho_corasick/index.html @@ -0,0 +1,324 @@ + + + + + + + + + + aho_corasick - Rust + + + + + + + + + + + + + + + +
+

Crate aho_corasick + + [] + + [src]

+

An implementation of the +Aho-Corasick string search algorithm.

+ +

The Aho-Corasick algorithm is principally useful when you need to search many +large texts for a fixed (possibly large) set of keywords. In particular, the +Aho-Corasick algorithm preprocesses the set of keywords by constructing a +finite state machine. The search phase is then a quick linear scan through the +text. Each character in the search text causes a state transition in the +automaton. Matches are reported when the automaton enters a match state.

+ +

Examples

+

The main type exposed by this crate is AcAutomaton, which can be constructed +from an iterator of pattern strings:

+
+use aho_corasick::{Automaton, AcAutomaton};
+
+let aut = AcAutomaton::new(vec!["apple", "maple"]);
+
+// AcAutomaton also implements `FromIterator`:
+let aut: AcAutomaton = ["apple", "maple"].iter().cloned().collect();
+
+ +

Finding matches can be done with find:

+
+use aho_corasick::{Automaton, AcAutomaton, Match};
+
+let aut = AcAutomaton::new(vec!["apple", "maple"]);
+let mut it = aut.find("I like maple apples.");
+assert_eq!(it.next(), Some(Match {
+    pati: 1,
+    start: 7,
+    end: 12,
+}));
+assert_eq!(it.next(), Some(Match {
+    pati: 0,
+    start: 13,
+    end: 18,
+}));
+assert_eq!(it.next(), None);
+
+ +

Use find_overlapping if you want to report all matches, even if they +overlap with each other.

+
+use aho_corasick::{Automaton, AcAutomaton, Match};
+
+let aut = AcAutomaton::new(vec!["abc", "a"]);
+let matches: Vec<_> = aut.find_overlapping("abc").collect();
+assert_eq!(matches, vec![
+    Match { pati: 1, start: 0, end: 1}, Match { pati: 0, start: 0, end: 3 },
+]);
+
+// Regular `find` will report only one match:
+let matches: Vec<_> = aut.find("abc").collect();
+assert_eq!(matches, vec![Match { pati: 1, start: 0, end: 1}]);
+
+ +

Finally, there are also methods for finding matches on streams. Namely, the +search text does not have to live in memory. It's useful to run this on files +that can't fit into memory:

+
+use std::fs::File;
+
+use aho_corasick::{Automaton, AcAutomaton};
+
+let aut = AcAutomaton::new(vec!["foo", "bar", "baz"]);
+let rdr = File::open("search.txt").unwrap();
+for m in aut.stream_find(rdr) {
+    let m = m.unwrap(); // could be an IO error
+    println!("Pattern '{}' matched at: ({}, {})",
+             aut.pattern(m.pati), m.start, m.end);
+}
+
+ +

There is also stream_find_overlapping, which is just like find_overlapping, +but it operates on streams.

+ +

Please see dict-search.rs in this crate's examples directory for a more +complete example. It creates a large automaton from a dictionary and can do a +streaming match over arbitrarily large data.

+ +

Memory usage

+

A key aspect of an Aho-Corasick implementation is how the state transitions +are represented. The easiest way to make the automaton fast is to store a +sparse 256-slot map in each state. It maps an input byte to a state index. +This makes the matching loop extremely fast, since it translates to a simple +pointer read.

+ +

The problem is that as the automaton accumulates more states, you end up paying +a 256 * 4 (4 is for the u32 state index) byte penalty for every state +regardless of how many transitions it has.

+ +

To solve this, only states near the root of the automaton have this sparse +map representation. States near the leaves of the automaton use a dense mapping +that requires a linear scan.

+ +

(The specific limit currently set is 3, so that states with a depth less than +or equal to 3 are less memory efficient. The result is that the memory usage +of the automaton stops growing rapidly past ~60MB, even for automatons with +thousands of patterns.)

+ +

If you'd like to opt for the less-memory-efficient-but-faster version, then +you can construct an AcAutomaton with a Sparse transition strategy:

+
+use aho_corasick::{Automaton, AcAutomaton, Match, Sparse};
+
+let aut = AcAutomaton::<Sparse>::with_transitions(vec!["abc", "a"]);
+let matches: Vec<_> = aut.find("abc").collect();
+assert_eq!(matches, vec![Match { pati: 1, start: 0, end: 1}]);
+
+

Structs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcAutomaton +

An Aho-Corasick finite automaton.

+ +
Dense +

State transitions that can be stored either sparsely or densely.

+ +
FullAcAutomaton +

A complete Aho-Corasick automaton.

+ +
Match +

Records a match in the search text.

+ +
Matches +

An iterator of non-overlapping matches for in-memory text.

+ +
MatchesOverlapping +

An iterator of overlapping matches for in-memory text.

+ +
Sparse +

State transitions that are always sparse.

+ +
StreamMatches +

An iterator of non-overlapping matches for streaming text.

+ +
StreamMatchesOverlapping +

An iterator of overlapping matches for streaming text.

+ +

Traits

+ + + + + + + + + + +
Automaton +

An abstraction over automatons and their corresponding iterators.

+ +
Transitions +

An abstraction over state transition strategies.

+ +

Type Definitions

+ + + + + +
StateIdx +

The integer type used for the state index.

+ +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/sidebar-items.js b/aho_corasick/sidebar-items.js new file mode 100644 index 0000000..6aa4b71 --- /dev/null +++ b/aho_corasick/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"struct":[["AcAutomaton","An Aho-Corasick finite automaton."],["Dense","State transitions that can be stored either sparsely or densely."],["FullAcAutomaton","A complete Aho-Corasick automaton."],["Match","Records a match in the search text."],["Matches","An iterator of non-overlapping matches for in-memory text."],["MatchesOverlapping","An iterator of overlapping matches for in-memory text."],["Sparse","State transitions that are always sparse."],["StreamMatches","An iterator of non-overlapping matches for streaming text."],["StreamMatchesOverlapping","An iterator of overlapping matches for streaming text."]],"trait":[["Automaton","An abstraction over automatons and their corresponding iterators."],["Transitions","An abstraction over state transition strategies."]],"type":[["StateIdx","The integer type used for the state index."]]}); \ No newline at end of file diff --git a/aho_corasick/struct.AcAutomaton.html b/aho_corasick/struct.AcAutomaton.html new file mode 100644 index 0000000..a64387c --- /dev/null +++ b/aho_corasick/struct.AcAutomaton.html @@ -0,0 +1,138 @@ + + + + + + + + + + aho_corasick::AcAutomaton - Rust + + + + + + + + + + + + + + + +
+

Struct aho_corasick::AcAutomaton + + [] + + [src]

+
pub struct AcAutomaton<T = Dense> {
+    // some fields omitted
+}

An Aho-Corasick finite automaton.

+

Methods

impl AcAutomaton

fn new<S, I>(pats: I) -> AcAutomaton<Dense> where S: Into<String>, I: IntoIterator<Item=S>

+

Create a new automaton from an iterator of patterns.

+ +

The patterns must be convertible to Unicode String values via the +Into trait.

+

impl<T: Transitions> AcAutomaton<T>

fn with_transitions<S, I>(pats: I) -> AcAutomaton<T> where S: Into<String>, I: IntoIterator<Item=S>

+

Create a new automaton from an iterator of patterns.

+ +

This constructor allows one to choose the transition representation.

+ +

The patterns must be convertible to Unicode String values via the +Into trait.

+

fn into_full(self) -> FullAcAutomaton

+

Build out the entire automaton into a single matrix.

+ +

This will make searching as fast as possible at the expense of using +at least 4 * 256 * #states bytes of memory.

+

Trait Implementations

impl<T: Transitions> Automaton for AcAutomaton<T>

fn next_state(&self, si: StateIdx, b: u8) -> StateIdx

+

fn get_match(&self, si: StateIdx, outi: usize, texti: usize) -> Match

+

fn has_match(&self, si: StateIdx, outi: usize) -> bool

+

fn skip_to(&self, si: StateIdx, text: &[u8], at: usize) -> usize

+

fn is_skippable(&self) -> bool

+

fn patterns(&self) -> &[String]

+

fn pattern(&self, i: usize) -> &str

+

fn len(&self) -> usize

+

fn is_empty(&self) -> bool

+

fn find<'a, 's>(&'a self, s: &'s str) -> Matches<'a, 's, Self>

+

fn find_overlapping<'a, 's>(&'a self, s: &'s str) -> MatchesOverlapping<'a, 's, Self>

+

fn stream_find<'a, R: Read>(&'a self, rdr: R) -> StreamMatches<'a, R, Self>

+

fn stream_find_overlapping<'a, R: Read>(&'a self, rdr: R) -> StreamMatchesOverlapping<'a, R, Self>

+

impl<S: Into<String>> FromIterator<S> for AcAutomaton

fn from_iter<T>(it: T) -> AcAutomaton where T: IntoIterator<Item=S>

+

impl<T: Transitions> Debug for AcAutomaton<T>

fn fmt(&self, f: &mut Formatter) -> Result

+

Derived Implementations

impl<T: Clone> Clone for AcAutomaton<T> where T: Clone

fn clone(&self) -> AcAutomaton<T>

+

fn clone_from(&mut self, source: &Self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/struct.Dense.html b/aho_corasick/struct.Dense.html new file mode 100644 index 0000000..a0232c7 --- /dev/null +++ b/aho_corasick/struct.Dense.html @@ -0,0 +1,110 @@ + + + + + + + + + + aho_corasick::Dense - Rust + + + + + + + + + + + + + + + +
+

Struct aho_corasick::Dense + + [] + + [src]

+
pub struct Dense(_);

State transitions that can be stored either sparsely or densely.

+ +

This uses less space but at the expense of slower matching.

+

Trait Implementations

impl Transitions for Dense

fn new(depth: u32) -> Dense

+

fn goto(&self, b1: u8) -> StateIdx

+

fn set_goto(&mut self, b: u8, si: StateIdx)

+

Derived Implementations

impl Debug for Dense

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+

impl Clone for Dense

fn clone(&self) -> Dense

+

fn clone_from(&mut self, source: &Self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/struct.FullAcAutomaton.html b/aho_corasick/struct.FullAcAutomaton.html new file mode 100644 index 0000000..b3201c1 --- /dev/null +++ b/aho_corasick/struct.FullAcAutomaton.html @@ -0,0 +1,130 @@ + + + + + + + + + + aho_corasick::FullAcAutomaton - Rust + + + + + + + + + + + + + + + +
+

Struct aho_corasick::FullAcAutomaton + + [] + + [src]

+
pub struct FullAcAutomaton {
+    // some fields omitted
+}

A complete Aho-Corasick automaton.

+ +

This uses a single transition matrix that permits each input character +to move to the next state with a single lookup in the matrix.

+ +

This is as fast as it gets, but it is guaranteed to use a lot of memory. +Namely, it will use at least 4 * 256 * #states, where the number of +states is capped at length of all patterns concatenated.

+

Methods

impl FullAcAutomaton

fn new<T: Transitions>(ac: AcAutomaton<T>) -> FullAcAutomaton

+

Build a new expanded Aho-Corasick automaton from an existing +Aho-Corasick automaton.

+

Trait Implementations

impl Automaton for FullAcAutomaton

fn next_state(&self, si: StateIdx, i: u8) -> StateIdx

+

fn get_match(&self, si: StateIdx, outi: usize, texti: usize) -> Match

+

fn has_match(&self, si: StateIdx, outi: usize) -> bool

+

fn skip_to(&self, si: StateIdx, text: &[u8], at: usize) -> usize

+

fn is_skippable(&self) -> bool

+

fn patterns(&self) -> &[String]

+

fn pattern(&self, i: usize) -> &str

+

fn len(&self) -> usize

+

fn is_empty(&self) -> bool

+

fn find<'a, 's>(&'a self, s: &'s str) -> Matches<'a, 's, Self>

+

fn find_overlapping<'a, 's>(&'a self, s: &'s str) -> MatchesOverlapping<'a, 's, Self>

+

fn stream_find<'a, R: Read>(&'a self, rdr: R) -> StreamMatches<'a, R, Self>

+

fn stream_find_overlapping<'a, R: Read>(&'a self, rdr: R) -> StreamMatchesOverlapping<'a, R, Self>

+

Derived Implementations

impl Debug for FullAcAutomaton

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+

impl Clone for FullAcAutomaton

fn clone(&self) -> FullAcAutomaton

+

fn clone_from(&mut self, source: &Self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/struct.Match.html b/aho_corasick/struct.Match.html new file mode 100644 index 0000000..ed14834 --- /dev/null +++ b/aho_corasick/struct.Match.html @@ -0,0 +1,126 @@ + + + + + + + + + + aho_corasick::Match - Rust + + + + + + + + + + + + + + + +
+

Struct aho_corasick::Match + + [] + + [src]

+
pub struct Match {
+    pub pati: usize,
+    pub start: usize,
+    pub end: usize,
+}

Records a match in the search text.

+

Fields

+ + + +
pati

The pattern index.

+ +

This corresponds to the ordering in which the matched pattern was +added to the automaton, starting at 0.

+
start

The starting byte offset of the match in the search text.

+
end

The ending byte offset of the match in the search text.

+ +

(This can be re-captiulated with pati and adding the pattern's +length to start, but it is convenient to have it here.)

+

Trait Implementations

Derived Implementations

impl Eq for Match

impl PartialEq for Match

fn eq(&self, __arg_0: &Match) -> bool

+

fn ne(&self, __arg_0: &Match) -> bool

+

impl Hash for Match

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

+

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher

+

impl Debug for Match

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+

impl Clone for Match

fn clone(&self) -> Match

+

fn clone_from(&mut self, source: &Self)

+

impl Copy for Match

+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/struct.Matches.html b/aho_corasick/struct.Matches.html new file mode 100644 index 0000000..8547e40 --- /dev/null +++ b/aho_corasick/struct.Matches.html @@ -0,0 +1,152 @@ + + + + + + + + + + aho_corasick::Matches - Rust + + + + + + + + + + + + + + + +
+

Struct aho_corasick::Matches + + [] + + [src]

+
pub struct Matches<'a, 's, A: 'a + Automaton> {
+    // some fields omitted
+}

An iterator of non-overlapping matches for in-memory text.

+ +

This iterator yields Match values.

+ +

'a is the lifetime of the automaton and 's is the lifetime of the +search text.

+

Trait Implementations

impl<'a, 's, A: Automaton> Iterator for Matches<'a, 's, A>

type Item = Match

+

fn next(&mut self) -> Option<Match>

+

fn size_hint(&self) -> (usize, Option<usize>)

+

fn count(self) -> usize

+

fn last(self) -> Option<Self::Item>

+

fn nth(&mut self, n: usize) -> Option<Self::Item>

+

fn chain<U>(self, other: U) -> Chain<Self, U::IntoIter> where U: IntoIterator<Item=Self::Item>

+

fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter> where U: IntoIterator

+

fn map<B, F>(self, f: F) -> Map<Self, F> where F: FnMut(Self::Item) -> B

+

fn filter<P>(self, predicate: P) -> Filter<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> where F: FnMut(Self::Item) -> Option<B>

+

fn enumerate(self) -> Enumerate<Self>

+

fn peekable(self) -> Peekable<Self>

+

fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn skip(self, n: usize) -> Skip<Self>

+

fn take(self, n: usize) -> Take<Self>

+

fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> where F: FnMut(&mut St, Self::Item) -> Option<B>

+

fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> where F: FnMut(Self::Item) -> U, U: IntoIterator

+

fn fuse(self) -> Fuse<Self>

+

fn inspect<F>(self, f: F) -> Inspect<Self, F> where F: FnMut(&Self::Item) -> ()

+

fn by_ref(&mut self) -> &mut Self

+

fn collect<B>(self) -> B where B: FromIterator<Self::Item>

+

fn partition<B, F>(self, f: F) -> (B, B) where F: FnMut(&Self::Item) -> bool, B: Default + Extend<Self::Item>

+

fn fold<B, F>(self, init: B, f: F) -> B where F: FnMut(B, Self::Item) -> B

+

fn all<F>(&mut self, f: F) -> bool where F: FnMut(Self::Item) -> bool

+

fn any<F>(&mut self, f: F) -> bool where F: FnMut(Self::Item) -> bool

+

fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where P: FnMut(&Self::Item) -> bool

+

fn position<P>(&mut self, predicate: P) -> Option<usize> where P: FnMut(Self::Item) -> bool

+

fn rposition<P>(&mut self, predicate: P) -> Option<usize> where P: FnMut(Self::Item) -> bool, Self: ExactSizeIterator + DoubleEndedIterator

+

fn max(self) -> Option<Self::Item> where Self::Item: Ord

+

fn min(self) -> Option<Self::Item> where Self::Item: Ord

+

fn min_max(self) -> MinMaxResult<Self::Item> where Self::Item: Ord

+

fn max_by<B, F>(self, f: F) -> Option<Self::Item> where B: Ord, F: FnMut(&Self::Item) -> B

+

fn min_by<B, F>(self, f: F) -> Option<Self::Item> where B: Ord, F: FnMut(&Self::Item) -> B

+

fn rev(self) -> Rev<Self> where Self: DoubleEndedIterator

+

fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where FromB: Default + Extend<B>, Self: Iterator<Item=(A, B)>, FromA: Default + Extend<A>

+

fn cloned<'a, T>(self) -> Cloned<Self> where T: 'a + Clone, Self: Iterator<Item=&'a T>

+

fn cycle(self) -> Cycle<Self> where Self: Clone

+

fn reverse_in_place<'a, T>(&mut self) where T: 'a, Self: Iterator<Item=&'a mut T> + DoubleEndedIterator

+

fn sum<S = Self::Item>(self) -> S where S: Add<Self::Item, Output=S> + Zero

+

fn product<P = Self::Item>(self) -> P where P: Mul<Self::Item, Output=P> + One

+

Derived Implementations

impl<'a, 's, A: Debug + 'a + Automaton> Debug for Matches<'a, 's, A> where A: Debug

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/struct.MatchesOverlapping.html b/aho_corasick/struct.MatchesOverlapping.html new file mode 100644 index 0000000..e47f60b --- /dev/null +++ b/aho_corasick/struct.MatchesOverlapping.html @@ -0,0 +1,152 @@ + + + + + + + + + + aho_corasick::MatchesOverlapping - Rust + + + + + + + + + + + + + + + +
+

Struct aho_corasick::MatchesOverlapping + + [] + + [src]

+
pub struct MatchesOverlapping<'a, 's, A: 'a + Automaton> {
+    // some fields omitted
+}

An iterator of overlapping matches for in-memory text.

+ +

This iterator yields Match values.

+ +

'a is the lifetime of the automaton and 's is the lifetime of the +search text.

+

Trait Implementations

impl<'a, 's, A: Automaton> Iterator for MatchesOverlapping<'a, 's, A>

type Item = Match

+

fn next(&mut self) -> Option<Match>

+

fn size_hint(&self) -> (usize, Option<usize>)

+

fn count(self) -> usize

+

fn last(self) -> Option<Self::Item>

+

fn nth(&mut self, n: usize) -> Option<Self::Item>

+

fn chain<U>(self, other: U) -> Chain<Self, U::IntoIter> where U: IntoIterator<Item=Self::Item>

+

fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter> where U: IntoIterator

+

fn map<B, F>(self, f: F) -> Map<Self, F> where F: FnMut(Self::Item) -> B

+

fn filter<P>(self, predicate: P) -> Filter<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> where F: FnMut(Self::Item) -> Option<B>

+

fn enumerate(self) -> Enumerate<Self>

+

fn peekable(self) -> Peekable<Self>

+

fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn skip(self, n: usize) -> Skip<Self>

+

fn take(self, n: usize) -> Take<Self>

+

fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> where F: FnMut(&mut St, Self::Item) -> Option<B>

+

fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> where F: FnMut(Self::Item) -> U, U: IntoIterator

+

fn fuse(self) -> Fuse<Self>

+

fn inspect<F>(self, f: F) -> Inspect<Self, F> where F: FnMut(&Self::Item) -> ()

+

fn by_ref(&mut self) -> &mut Self

+

fn collect<B>(self) -> B where B: FromIterator<Self::Item>

+

fn partition<B, F>(self, f: F) -> (B, B) where F: FnMut(&Self::Item) -> bool, B: Default + Extend<Self::Item>

+

fn fold<B, F>(self, init: B, f: F) -> B where F: FnMut(B, Self::Item) -> B

+

fn all<F>(&mut self, f: F) -> bool where F: FnMut(Self::Item) -> bool

+

fn any<F>(&mut self, f: F) -> bool where F: FnMut(Self::Item) -> bool

+

fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where P: FnMut(&Self::Item) -> bool

+

fn position<P>(&mut self, predicate: P) -> Option<usize> where P: FnMut(Self::Item) -> bool

+

fn rposition<P>(&mut self, predicate: P) -> Option<usize> where P: FnMut(Self::Item) -> bool, Self: ExactSizeIterator + DoubleEndedIterator

+

fn max(self) -> Option<Self::Item> where Self::Item: Ord

+

fn min(self) -> Option<Self::Item> where Self::Item: Ord

+

fn min_max(self) -> MinMaxResult<Self::Item> where Self::Item: Ord

+

fn max_by<B, F>(self, f: F) -> Option<Self::Item> where B: Ord, F: FnMut(&Self::Item) -> B

+

fn min_by<B, F>(self, f: F) -> Option<Self::Item> where B: Ord, F: FnMut(&Self::Item) -> B

+

fn rev(self) -> Rev<Self> where Self: DoubleEndedIterator

+

fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where FromB: Default + Extend<B>, Self: Iterator<Item=(A, B)>, FromA: Default + Extend<A>

+

fn cloned<'a, T>(self) -> Cloned<Self> where T: 'a + Clone, Self: Iterator<Item=&'a T>

+

fn cycle(self) -> Cycle<Self> where Self: Clone

+

fn reverse_in_place<'a, T>(&mut self) where T: 'a, Self: Iterator<Item=&'a mut T> + DoubleEndedIterator

+

fn sum<S = Self::Item>(self) -> S where S: Add<Self::Item, Output=S> + Zero

+

fn product<P = Self::Item>(self) -> P where P: Mul<Self::Item, Output=P> + One

+

Derived Implementations

impl<'a, 's, A: Debug + 'a + Automaton> Debug for MatchesOverlapping<'a, 's, A> where A: Debug

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/struct.Sparse.html b/aho_corasick/struct.Sparse.html new file mode 100644 index 0000000..f8adecc --- /dev/null +++ b/aho_corasick/struct.Sparse.html @@ -0,0 +1,111 @@ + + + + + + + + + + aho_corasick::Sparse - Rust + + + + + + + + + + + + + + + +
+

Struct aho_corasick::Sparse + + [] + + [src]

+
pub struct Sparse(_);

State transitions that are always sparse.

+ +

This can use enormous amounts of memory when there are many patterns, +but matching is very fast.

+

Trait Implementations

impl Transitions for Sparse

fn new(_: u32) -> Sparse

+

fn goto(&self, b: u8) -> StateIdx

+

fn set_goto(&mut self, b: u8, si: StateIdx)

+

Derived Implementations

impl Debug for Sparse

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+

impl Clone for Sparse

fn clone(&self) -> Sparse

+

fn clone_from(&mut self, source: &Self)

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/struct.StreamMatches.html b/aho_corasick/struct.StreamMatches.html new file mode 100644 index 0000000..5964387 --- /dev/null +++ b/aho_corasick/struct.StreamMatches.html @@ -0,0 +1,152 @@ + + + + + + + + + + aho_corasick::StreamMatches - Rust + + + + + + + + + + + + + + + +
+

Struct aho_corasick::StreamMatches + + [] + + [src]

+
pub struct StreamMatches<'a, R, A: 'a + Automaton> {
+    // some fields omitted
+}

An iterator of non-overlapping matches for streaming text.

+ +

This iterator yields io::Result<Match> values.

+ +

'a is the lifetime of the automaton and R is the type of the underlying +io::Reader.

+

Trait Implementations

impl<'a, R: Read, A: Automaton> Iterator for StreamMatches<'a, R, A>

type Item = Result<Match>

+

fn next(&mut self) -> Option<Result<Match>>

+

fn size_hint(&self) -> (usize, Option<usize>)

+

fn count(self) -> usize

+

fn last(self) -> Option<Self::Item>

+

fn nth(&mut self, n: usize) -> Option<Self::Item>

+

fn chain<U>(self, other: U) -> Chain<Self, U::IntoIter> where U: IntoIterator<Item=Self::Item>

+

fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter> where U: IntoIterator

+

fn map<B, F>(self, f: F) -> Map<Self, F> where F: FnMut(Self::Item) -> B

+

fn filter<P>(self, predicate: P) -> Filter<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> where F: FnMut(Self::Item) -> Option<B>

+

fn enumerate(self) -> Enumerate<Self>

+

fn peekable(self) -> Peekable<Self>

+

fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn skip(self, n: usize) -> Skip<Self>

+

fn take(self, n: usize) -> Take<Self>

+

fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> where F: FnMut(&mut St, Self::Item) -> Option<B>

+

fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> where F: FnMut(Self::Item) -> U, U: IntoIterator

+

fn fuse(self) -> Fuse<Self>

+

fn inspect<F>(self, f: F) -> Inspect<Self, F> where F: FnMut(&Self::Item) -> ()

+

fn by_ref(&mut self) -> &mut Self

+

fn collect<B>(self) -> B where B: FromIterator<Self::Item>

+

fn partition<B, F>(self, f: F) -> (B, B) where F: FnMut(&Self::Item) -> bool, B: Default + Extend<Self::Item>

+

fn fold<B, F>(self, init: B, f: F) -> B where F: FnMut(B, Self::Item) -> B

+

fn all<F>(&mut self, f: F) -> bool where F: FnMut(Self::Item) -> bool

+

fn any<F>(&mut self, f: F) -> bool where F: FnMut(Self::Item) -> bool

+

fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where P: FnMut(&Self::Item) -> bool

+

fn position<P>(&mut self, predicate: P) -> Option<usize> where P: FnMut(Self::Item) -> bool

+

fn rposition<P>(&mut self, predicate: P) -> Option<usize> where P: FnMut(Self::Item) -> bool, Self: ExactSizeIterator + DoubleEndedIterator

+

fn max(self) -> Option<Self::Item> where Self::Item: Ord

+

fn min(self) -> Option<Self::Item> where Self::Item: Ord

+

fn min_max(self) -> MinMaxResult<Self::Item> where Self::Item: Ord

+

fn max_by<B, F>(self, f: F) -> Option<Self::Item> where B: Ord, F: FnMut(&Self::Item) -> B

+

fn min_by<B, F>(self, f: F) -> Option<Self::Item> where B: Ord, F: FnMut(&Self::Item) -> B

+

fn rev(self) -> Rev<Self> where Self: DoubleEndedIterator

+

fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where FromB: Default + Extend<B>, Self: Iterator<Item=(A, B)>, FromA: Default + Extend<A>

+

fn cloned<'a, T>(self) -> Cloned<Self> where T: 'a + Clone, Self: Iterator<Item=&'a T>

+

fn cycle(self) -> Cycle<Self> where Self: Clone

+

fn reverse_in_place<'a, T>(&mut self) where T: 'a, Self: Iterator<Item=&'a mut T> + DoubleEndedIterator

+

fn sum<S = Self::Item>(self) -> S where S: Add<Self::Item, Output=S> + Zero

+

fn product<P = Self::Item>(self) -> P where P: Mul<Self::Item, Output=P> + One

+

Derived Implementations

impl<'a, R: Debug, A: Debug + 'a + Automaton> Debug for StreamMatches<'a, R, A> where A: Debug, R: Debug

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/struct.StreamMatchesOverlapping.html b/aho_corasick/struct.StreamMatchesOverlapping.html new file mode 100644 index 0000000..521d021 --- /dev/null +++ b/aho_corasick/struct.StreamMatchesOverlapping.html @@ -0,0 +1,152 @@ + + + + + + + + + + aho_corasick::StreamMatchesOverlapping - Rust + + + + + + + + + + + + + + + +
+

Struct aho_corasick::StreamMatchesOverlapping + + [] + + [src]

+
pub struct StreamMatchesOverlapping<'a, R, A: 'a + Automaton> {
+    // some fields omitted
+}

An iterator of overlapping matches for streaming text.

+ +

This iterator yields io::Result<Match> values.

+ +

'a is the lifetime of the automaton and R is the type of the underlying +io::Reader.

+

Trait Implementations

impl<'a, R: Read, A: Automaton> Iterator for StreamMatchesOverlapping<'a, R, A>

type Item = Result<Match>

+

fn next(&mut self) -> Option<Result<Match>>

+

fn size_hint(&self) -> (usize, Option<usize>)

+

fn count(self) -> usize

+

fn last(self) -> Option<Self::Item>

+

fn nth(&mut self, n: usize) -> Option<Self::Item>

+

fn chain<U>(self, other: U) -> Chain<Self, U::IntoIter> where U: IntoIterator<Item=Self::Item>

+

fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter> where U: IntoIterator

+

fn map<B, F>(self, f: F) -> Map<Self, F> where F: FnMut(Self::Item) -> B

+

fn filter<P>(self, predicate: P) -> Filter<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> where F: FnMut(Self::Item) -> Option<B>

+

fn enumerate(self) -> Enumerate<Self>

+

fn peekable(self) -> Peekable<Self>

+

fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> where P: FnMut(&Self::Item) -> bool

+

fn skip(self, n: usize) -> Skip<Self>

+

fn take(self, n: usize) -> Take<Self>

+

fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> where F: FnMut(&mut St, Self::Item) -> Option<B>

+

fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> where F: FnMut(Self::Item) -> U, U: IntoIterator

+

fn fuse(self) -> Fuse<Self>

+

fn inspect<F>(self, f: F) -> Inspect<Self, F> where F: FnMut(&Self::Item) -> ()

+

fn by_ref(&mut self) -> &mut Self

+

fn collect<B>(self) -> B where B: FromIterator<Self::Item>

+

fn partition<B, F>(self, f: F) -> (B, B) where F: FnMut(&Self::Item) -> bool, B: Default + Extend<Self::Item>

+

fn fold<B, F>(self, init: B, f: F) -> B where F: FnMut(B, Self::Item) -> B

+

fn all<F>(&mut self, f: F) -> bool where F: FnMut(Self::Item) -> bool

+

fn any<F>(&mut self, f: F) -> bool where F: FnMut(Self::Item) -> bool

+

fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where P: FnMut(&Self::Item) -> bool

+

fn position<P>(&mut self, predicate: P) -> Option<usize> where P: FnMut(Self::Item) -> bool

+

fn rposition<P>(&mut self, predicate: P) -> Option<usize> where P: FnMut(Self::Item) -> bool, Self: ExactSizeIterator + DoubleEndedIterator

+

fn max(self) -> Option<Self::Item> where Self::Item: Ord

+

fn min(self) -> Option<Self::Item> where Self::Item: Ord

+

fn min_max(self) -> MinMaxResult<Self::Item> where Self::Item: Ord

+

fn max_by<B, F>(self, f: F) -> Option<Self::Item> where B: Ord, F: FnMut(&Self::Item) -> B

+

fn min_by<B, F>(self, f: F) -> Option<Self::Item> where B: Ord, F: FnMut(&Self::Item) -> B

+

fn rev(self) -> Rev<Self> where Self: DoubleEndedIterator

+

fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where FromB: Default + Extend<B>, Self: Iterator<Item=(A, B)>, FromA: Default + Extend<A>

+

fn cloned<'a, T>(self) -> Cloned<Self> where T: 'a + Clone, Self: Iterator<Item=&'a T>

+

fn cycle(self) -> Cycle<Self> where Self: Clone

+

fn reverse_in_place<'a, T>(&mut self) where T: 'a, Self: Iterator<Item=&'a mut T> + DoubleEndedIterator

+

fn sum<S = Self::Item>(self) -> S where S: Add<Self::Item, Output=S> + Zero

+

fn product<P = Self::Item>(self) -> P where P: Mul<Self::Item, Output=P> + One

+

Derived Implementations

impl<'a, R: Debug, A: Debug + 'a + Automaton> Debug for StreamMatchesOverlapping<'a, R, A> where A: Debug, R: Debug

fn fmt(&self, __arg_0: &mut Formatter) -> Result

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/trait.Automaton.html b/aho_corasick/trait.Automaton.html new file mode 100644 index 0000000..c4156c9 --- /dev/null +++ b/aho_corasick/trait.Automaton.html @@ -0,0 +1,155 @@ + + + + + + + + + + aho_corasick::Automaton - Rust + + + + + + + + + + + + + + + +
+

Trait aho_corasick::Automaton + + [] + + [src]

+
pub trait Automaton: Sized {
+    fn next_state(&self, si: StateIdx, b: u8) -> StateIdx;
+    fn has_match(&self, si: StateIdx, outi: PatIdx) -> bool;
+    fn get_match(&self, si: StateIdx, outi: PatIdx, texti: usize) -> Match;
+    fn skip_to(&self, si: StateIdx, text: &[u8], at: usize) -> usize;
+    fn is_skippable(&self) -> bool;
+    fn patterns(&self) -> &[String];
+    fn pattern(&self, i: usize) -> &str;
+
+    fn len(&self) -> usize { ... }
+    fn is_empty(&self) -> bool { ... }
+    fn find<'a, 's>(&'a self, s: &'s str) -> Matches<'a, 's, Self> { ... }
+    fn find_overlapping<'a, 's>(&'a self, s: &'s str) -> MatchesOverlapping<'a, 's, Self> { ... }
+    fn stream_find<'a, R: Read>(&'a self, rdr: R) -> StreamMatches<'a, R, Self> { ... }
+    fn stream_find_overlapping<'a, R: Read>(&'a self, rdr: R) -> StreamMatchesOverlapping<'a, R, Self> { ... }
+}

An abstraction over automatons and their corresponding iterators.

+
+

Required Methods

+
+

fn next_state(&self, si: StateIdx, b: u8) -> StateIdx

Return the next state given the current state and next character.

+

fn has_match(&self, si: StateIdx, outi: PatIdx) -> bool

Return true if and only if the given state and current pattern index +indicate a match.

+

fn get_match(&self, si: StateIdx, outi: PatIdx, texti: usize) -> Match

Build a match given the current state, pattern index and input index.

+

fn skip_to(&self, si: StateIdx, text: &[u8], at: usize) -> usize

Attempt to skip through the input.

+ +

This returns the index into text at which the next match attempt +should start. (If no skipping occurred, then the return value should +be equal to at.)

+ +

Finally, if no match is possible, then return text.len().

+

fn is_skippable(&self) -> bool

Returns true if and only if this automaton can skip through the input.

+

fn patterns(&self) -> &[String]

Returns all of the patterns matched by this automaton.

+ +

The order of the patterns is the order in which they were added.

+

fn pattern(&self, i: usize) -> &str

Returns the pattern indexed at i.

+ +

The index corresponds to the position at which the pattern was added +to the automaton, starting at 0.

+
+

Provided Methods

+
+

fn len(&self) -> usize

Return the number of patterns in the automaton.

+

fn is_empty(&self) -> bool

Returns true if the automaton has no patterns.

+

fn find<'a, 's>(&'a self, s: &'s str) -> Matches<'a, 's, Self>

Returns an iterator of non-overlapping matches in s.

+

fn find_overlapping<'a, 's>(&'a self, s: &'s str) -> MatchesOverlapping<'a, 's, Self>

Returns an iterator of overlapping matches in s.

+

fn stream_find<'a, R: Read>(&'a self, rdr: R) -> StreamMatches<'a, R, Self>

Returns an iterator of non-overlapping matches in the given reader.

+

fn stream_find_overlapping<'a, R: Read>(&'a self, rdr: R) -> StreamMatchesOverlapping<'a, R, Self>

Returns an iterator of overlapping matches in the given reader.

+
+

Implementors

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/trait.Transitions.html b/aho_corasick/trait.Transitions.html new file mode 100644 index 0000000..f5eac83 --- /dev/null +++ b/aho_corasick/trait.Transitions.html @@ -0,0 +1,125 @@ + + + + + + + + + + aho_corasick::Transitions - Rust + + + + + + + + + + + + + + + +
+

Trait aho_corasick::Transitions + + [] + + [src]

+
pub trait Transitions {
+    fn new(depth: u32) -> Self;
+    fn goto(&self, alpha: u8) -> StateIdx;
+    fn set_goto(&mut self, alpha: u8, si: StateIdx);
+}

An abstraction over state transition strategies.

+ +

This is an attempt to let the caller choose the space/time trade offs +used for state transitions.

+ +

(It's possible that this interface is merely good enough for just the two +implementations in this crate.)

+
+

Required Methods

+
+

fn new(depth: u32) -> Self

Return a new state at the given depth.

+

fn goto(&self, alpha: u8) -> StateIdx

Return the next state index given the next character.

+

fn set_goto(&mut self, alpha: u8, si: StateIdx)

Set the next state index for the character given.

+
+

Implementors

+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aho_corasick/type.StateIdx.html b/aho_corasick/type.StateIdx.html new file mode 100644 index 0000000..0aefbb0 --- /dev/null +++ b/aho_corasick/type.StateIdx.html @@ -0,0 +1,105 @@ + + + + + + + + + + aho_corasick::StateIdx - Rust + + + + + + + + + + + + + + + +
+

aho_corasick::StateIdx + + [] + + [src]

+
type StateIdx = u32;

The integer type used for the state index.

+ +

Limiting this to 32 bit integers can have a big impact on memory usage +when using the Sparse transition representation.

+
+ + + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3