[−][src]Struct char_circle::SimpleStringTransform
Used when you have a SimpleTransform
but need a StringTransform
.
Example
// `Identity` is a `SimpleTransform`. struct Identity<I>(I); impl<I: Iterator<Item=char>> Iterator for Identity<I> { type Item = char; fn next(&mut self) -> Option<char> { self.0.next() } } impl<'a> SimpleTransform<'a> for Identity<Chars<'a>> { fn transform_chars(chars: Chars<'a>) -> Self { Identity(chars) } } // This function takes a `StringTransform`. fn apply_transform<'a, T: StringTransform<'a>>(t: T, s: String) -> String { t.transform(s).into_owned() } // Use `SimpleStringTransform` to bridge the gap. let t = SimpleStringTransform::<Identity<Chars>>::new(); let s = apply_transform(t, "Hello World".to_string()); assert_eq!(&s, "Hello World");
Methods
impl<'a, T: SimpleTransform<'a>> SimpleStringTransform<T>
[src]
Trait Implementations
impl<'a, T: SimpleTransform<'a>> StringTransform<'a> for SimpleStringTransform<T>
[src]
Auto Trait Implementations
impl<T> Send for SimpleStringTransform<T> where
T: Send,
T: Send,
impl<T> Sync for SimpleStringTransform<T> where
T: Sync,
T: Sync,
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,