basic_text_internals/
pre_normalization.rs1use crate::{BasicTextError, Categorize, IsolateUnassigned};
2use std::cell::RefCell;
3use std::rc::Rc;
4
5pub trait PreNormalization<I: Iterator<Item = char>> {
8 fn categorize(self, error: Rc<RefCell<Option<BasicTextError>>>) -> Categorize<I>;
11
12 fn isolate_unassigned(self) -> IsolateUnassigned<I>;
15}
16
17impl<I: Iterator<Item = char>> PreNormalization<I> for I {
18 #[inline]
19 fn categorize(self, error: Rc<RefCell<Option<BasicTextError>>>) -> Categorize<I> {
20 Categorize::new(self, error)
21 }
22
23 #[inline]
24 fn isolate_unassigned(self) -> IsolateUnassigned<I> {
25 IsolateUnassigned::new(self)
26 }
27}