pub mod builders;
pub mod hit_buffer;
#[cfg(feature = "matching-dfa")]
pub mod classic_ac;
#[cfg(feature = "matching-dfa")]
pub mod dfa;
#[cfg(feature = "matching-nfa")]
pub mod nfa;
pub mod post_process;
#[cfg(feature = "matching-nfa")]
pub mod scan_program;
#[cfg(feature = "matching-substring")]
pub mod substring;
#[cfg(all(feature = "matching-regex", feature = "matching-dfa"))]
pub mod fused_region_evidence;
#[cfg(all(feature = "matching-regex", feature = "matching-dfa"))]
pub mod regex_anchored_window;
#[cfg(feature = "matching-regex")]
pub mod regex_compile;
#[cfg(all(feature = "matching-regex", feature = "matching-dfa"))]
pub mod regex_dfa;
#[cfg(all(feature = "matching-regex", feature = "matching-dfa"))]
pub mod regex_region_admission;
#[cfg(feature = "matching-dfa")]
pub use crate::fixture_bytes::pack_haystack_u32;
pub use dfa::aho_corasick;
#[cfg(all(feature = "matching-regex", feature = "matching-dfa"))]
pub use fused_region_evidence::{
fused_region_evidence_program, fused_region_evidence_reference, FusedRegionEvidence,
FUSED_EVIDENCE_ADMISSION_BINDING, FUSED_EVIDENCE_MATCHES_BINDING,
FUSED_EVIDENCE_MATCH_COUNT_BINDING, FUSED_EVIDENCE_PRESENCE_BINDING,
};
pub use hit_buffer::{
compact_hits, compact_hits_with_layout, emit_hit, emit_hit_then_compact,
emit_hit_then_compact_with_layout, emit_hit_with_layout, HIT_BUFFER_LIVE_LENGTH,
HIT_BUFFER_OVERFLOW_COUNT,
};
#[cfg(any(test, feature = "cpu-parity"))]
pub use post_process::{
reference_post_process, shannon_entropy_bits_per_byte, try_reference_post_process,
try_reference_post_process_into,
};
pub use post_process::{PostProcessError, PostProcessedMatch};
#[cfg(all(feature = "matching-regex", feature = "matching-dfa"))]
pub use regex_anchored_window::{
anchored_window_extract_program, AnchoredWindowValidator, ANCHORED_WINDOW_MATCHES_BINDING,
ANCHORED_WINDOW_MATCH_COUNT_BINDING,
};
#[cfg(feature = "matching-regex")]
pub use regex_compile::{
build_scan_program_from_regex, compile_regex_set, compile_regex_set_with_policy,
regex_construct_diagnostic_code, CaptureMode, CaptureModeContract, CompiledRegexSet,
RegexCompileError, RegexConstruct, RegexPatternExtent, RegexReplayPolicy,
DEFAULT_OPEN_ENDED_REPLAY_LIMIT_BYTES,
};
#[cfg(all(feature = "matching-regex", feature = "matching-dfa"))]
pub use regex_dfa::{
build_regex_dfa_pipeline, build_regex_dfa_pipeline_with_policy,
build_regex_dfa_pipeline_with_policy_and_subgroup_coalesce, build_regex_dfa_shards,
build_regex_dfa_shards_unanchored, build_regex_dfa_unanchored, RegexDfaError, RegexDfaPipeline,
RegexDfaShard,
};
#[cfg(all(feature = "matching-regex", feature = "matching-dfa"))]
pub use regex_region_admission::{
regex_admission_by_region_program, regex_admission_by_region_reference,
regex_admission_presence_words, region_of,
};
#[cfg(feature = "matching-nfa")]
pub use scan_program::{build as build_scan_program, ScanProgram};
#[cfg(feature = "matching-substring")]
pub use substring::{substring_search, SCAN_SUBSTRING_OP_ID};
pub use vyre_foundation::execution_plan::fusion::{fuse_programs, fuse_programs_vec, FusionError};
#[cfg(feature = "cpu-parity")]
use vyre_primitives::matching::region::dedup_regions_cpu as primitive_dedup_regions_cpu;
#[cfg(any(test, feature = "cpu-parity"))]
pub use vyre_primitives::matching::region::dedup_regions_inplace;
pub use vyre_primitives::matching::region::{dedup_regions_flag_program, RegionTriple};
#[cfg(feature = "cpu-parity")]
#[must_use]
pub fn dedup_regions_reference(input: Vec<RegionTriple>) -> Vec<RegionTriple> {
primitive_dedup_regions_cpu(input)
}