1mod string;
2pub use string::*;
3
4mod vec;
5pub use vec::*;
6
7pub trait OptionExt<T> {
8 fn map_ref<U>(&self, f: impl FnOnce(&T)-> U) -> Option<U>;
9}
10
11impl<T> OptionExt<T> for Option<T> {
12 fn map_ref<U>(&self, f: impl FnOnce(&T)-> U) -> Option<U> {
13 self.as_ref().map(f)
14 }
15}