hermes_encoding_components/traits/
convert.rs

1use cgp::prelude::*;
2
3#[derive_component(ConverterComponent, Converter<Encoding>)]
4pub trait CanConvert<From, To>: HasErrorType {
5    fn convert(&self, from: &From) -> Result<To, Self::Error>;
6}
7
8pub trait CanConvertBothWays<A, B>: CanConvert<A, B> + CanConvert<B, A> {}
9
10impl<Encoding, A, B> CanConvertBothWays<A, B> for Encoding where
11    Encoding: CanConvert<A, B> + CanConvert<B, A>
12{
13}