pub use crate::{
essence::{
UTF16
}
};
use crate::{
functors::{
universal::{
search::{
ByteSearch
}
}
}
};
impl UTF16 {
pub fn search_pattern(array: &[u8], pattern: &[u8], omp: bool, only: bool, overlapping: bool, all_matches: bool, limit: Option<usize>) -> Vec<usize> {
if only {
if omp {
return if all_matches {
if overlapping {
ByteSearch::<u32>::search_all_overlapping(array, pattern, limit)
} else {
ByteSearch::<u32>::search_all(array, pattern, limit)
}
} else {
ByteSearch::<u32>::search_single(array, pattern, limit)
}
} else {
return if all_matches {
if overlapping {
ByteSearch::<u16>::search_all_overlapping(array, pattern, limit)
} else {
ByteSearch::<u16>::search_all(array, pattern, limit)
}
} else {
ByteSearch::<u16>::search_single(array, pattern, limit)
}
}
} else {
if all_matches {
return if overlapping {
ByteSearch::<u16>::search_all_overlapping(array, pattern, limit)
} else {
ByteSearch::<u16>::search_all(array, pattern, limit)
}
} else {
return ByteSearch::<u16>::search_single(array, pattern, limit);
}
}
}
}