mod bmi2_string_ops;
mod fast_str;
mod hex;
mod join;
mod lexicographic_iterator;
mod line_processor;
mod numeric_compare;
mod simd_search;
mod unicode;
mod word_boundary;
pub use fast_str::FastStr;
pub use numeric_compare::{
decimal_strcmp, decimal_strcmp_with_sign, realnum_strcmp, realnum_strcmp_with_sign,
};
pub use lexicographic_iterator::{
LexIteratorBuilder, LexicographicIterator, SortedVecLexIterator, StreamingLexIterator,
};
pub use unicode::{
UnicodeAnalysis, UnicodeProcessor, Utf8ToUtf32Iterator, utf8_byte_count,
validate_utf8_and_count_chars,
};
pub use line_processor::{LineProcessor, LineProcessorConfig, LineProcessorStats, LineSplitter};
pub use simd_search::{
MultiSearchResult, SearchTier, SimdStringSearch, get_global_simd_search, sse42_multi_search,
sse42_strchr, sse42_strcmp, sse42_strstr,
};
pub use bmi2_string_ops::{
Bmi2StringProcessor, CharClass, CharFilter, CharRun, CompressionAnalysis, DictionaryEntry,
DictionaryMatch, StringDictionary, count_utf8_chars_bmi2, detect_runs_bmi2,
get_global_bmi2_processor, hash_string_bmi2, search_string_bmi2, to_lowercase_ascii_bmi2,
to_uppercase_ascii_bmi2, validate_utf8_bmi2, wildcard_match_bmi2,
};
pub use join::{JoinBuilder, join, join_bytes_iter, join_fast_str, join_iter, join_str};
pub use word_boundary::{
WordIterator, find_word_boundaries, is_punctuation, is_whitespace, is_word_boundary,
is_word_char, word_at_position, word_count, words,
};
pub use hex::{
hex_char_to_nibble, hex_decode, hex_decode_bytes, hex_decode_to_slice, hex_encode,
hex_encode_to_bytes, hex_encode_to_slice, hex_encode_upper, is_valid_hex, nibble_to_hex_lower,
nibble_to_hex_upper, parse_hex_byte,
};
pub mod utils {
pub use super::lexicographic_iterator::utils as lex_utils;
pub use super::line_processor::utils as line_utils;
pub use super::unicode::utils as unicode_utils;
}
pub mod simd {
pub use super::simd_search::*;
}
pub mod bmi2 {
pub use super::bmi2_string_ops::*;
}