1#[cfg(feature = "perf-case-map")]
2mod map;
3
4pub trait CharToMonoLowercase {
5 fn to_mono_lowercase(self) -> char;
7}
8
9impl CharToMonoLowercase for char {
10 fn to_mono_lowercase(self) -> char {
11 #[cfg(not(feature = "perf-case-map"))]
12 return self.to_lowercase().next().unwrap();
13
14 #[cfg(feature = "perf-case-map")]
17 map::to_mono_lowercase(self)
18 }
19}
20
21pub trait StrToMonoLowercase {
22 fn to_mono_lowercase(&self) -> String;
23}
24
25impl StrToMonoLowercase for str {
26 fn to_mono_lowercase(&self) -> String {
27 self.chars().map(|c| c.to_mono_lowercase()).collect()
28 }
29}