pub mod base;
pub mod dest;
pub mod exts;
pub use base::{Checkpoint, Or, Pattern, Sep, Sep1, To};
pub use match_string_macros::matches;
pub fn __matches<'a, 's, P, Reference, R>(pat: &'a P, reference: &'s R) -> bool
where
P: crate::base::Pattern<'a, Reference>,
R: crate::base::Iterable<'s, Iter = Reference> + 's,
Reference: crate::base::PeekableExt,
P::Dest: crate::base::Destination<Reference::Item>,
Reference::Item: crate::base::Satisfies<<P::Iter as Iterator>::Item>,
{
<P as crate::base::Pattern<'a, Reference>>::matches(pat, reference)
}