Cargo Features

[dependencies]
kbnf-regex-automata = { version = "0.4.7", default-features = false, features = ["std", "alloc", "logging", "syntax", "meta", "nfa", "nfa-thompson", "nfa-pikevm", "nfa-backtrack", "dfa", "dfa-build", "dfa-search", "dfa-onepass", "hybrid", "perf", "perf-inline", "perf-literal", "perf-literal-substring", "perf-literal-multisubstring", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment", "unicode-word-boundary", "internal-instrument", "internal-instrument-pikevm"] }

This crate has many many many features. See the crate docs for a description of each and when you might want to use them.

default = dfa, hybrid, meta, nfa, perf, std, syntax, unicode

These default features are set whenever kbnf-regex-automata is added without default-features = false somewhere in the dependency tree.

std default internal-instrument-pikevm? perf-literal-multisubstring? = alloc

Enables std of optional aho-corasick, optional memchr, and optional regex-syntax

memchr:

The 'std' feature permits the memchr crate to use the standard library. This permits this crate to use runtime CPU feature detection to automatically accelerate searching via vector instructions. Without the standard library,
this automatic detection is not possible.

alloc hybrid nfa-thompson? std syntax

Affects automaton::Automaton.try_which_overlapping_matches, iter::TryCapturesIter, iter::CapturesIter, util::captures, util::interpolate, util::pool, search::PatternSet, search::PatternSetInsertError, search::PatternSetIter

logging internal-instrument-pikevm?

Enables log, logging of optional memchr and logging of optional aho-corasick

aho-corasick:

Enable logging via the 'log' crate. This is useful for seeing messages about internal decisions and metrics. For example, how the choice of the internal Aho-Corasick implementation is used or the heap usage of an automaton.

syntax default meta = alloc

Enables regex-syntax

Affects util::syntax

meta default = nfa-pikevm, syntax

Affects kbnf-regex-automata::meta

nfa default = nfa-backtrack, nfa-pikevm, nfa-thompson
nfa-thompson dfa-build? dfa-onepass? hybrid nfa nfa-backtrack? nfa-pikevm? = alloc

Affects kbnf-regex-automata::nfa, nfa::thompson

nfa-pikevm meta nfa = nfa-thompson

Affects thompson::pikevm

nfa-backtrack nfa = nfa-thompson

Affects thompson::backtrack

dfa default = dfa-build, dfa-onepass, dfa-search
dfa-build dfa = dfa-search, nfa-thompson

Affects dense::Config, dense::Builder, dense::BuildError

Affects dfa::dense, dfa::regex, dfa::sparse, dfa::automaton, kbnf-regex-automata::dfa

dfa-onepass dfa = nfa-thompson

Affects dfa::onepass, kbnf-regex-automata::dfa

hybrid default = alloc, nfa-thompson

Affects kbnf-regex-automata::hybrid

perf default = perf-inline, perf-literal
perf-inline perf
perf-literal perf = perf-literal-multisubstring, perf-literal-substring
perf-literal-substring perf-literal?

Enables memchr and perf-literal of optional aho-corasick

aho-corasick:

Enables prefilter optimizations that depend on external crates.

perf-literal-multisubstring perf-literal? = std

Enables aho-corasick

unicode default = unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment, unicode-word-boundary

Enables all Unicode features. This expands if new Unicode features are added.

Enables unicode of optional regex-syntax

unicode-age unicode

Enables use of the Age property, e.g., \p{Age:3.0}.

Enables unicode-age of optional regex-syntax

unicode-bool unicode

Enables use of a smattering of boolean properties, e.g., \p{Emoji}.

Enables unicode-bool of optional regex-syntax

unicode-case unicode

Enables Unicode-aware case insensitive matching, e.g., (?i)β.

Enables unicode-case of optional regex-syntax

unicode-gencat unicode

Enables Unicode general categories, e.g., \p{Letter} or \pL.

Enables unicode-gencat of optional regex-syntax

unicode-perl unicode

Enables Unicode-aware Perl classes corresponding to \w, \s and \d.

Enables unicode-perl of optional regex-syntax

unicode-script unicode

Enables Unicode scripts and script extensions, e.g., \p{Greek}.

Enables unicode-script of optional regex-syntax

unicode-segment unicode

Enables Unicode segmentation properties, e.g., \p{gcb=Extend}.

Enables unicode-segment of optional regex-syntax

unicode-word-boundary unicode

Enables Unicode word boundary support. If this is enabled with unicode-perl,
then data tables from regex-syntax are used. Otherwise, a new data table inside regex-automata will be included.

internal-instrument = internal-instrument-pikevm

These are strictly internal features that may be removed or changed in non-compatible ways.

internal-instrument-pikevm internal-instrument? = logging, std