Trait reproto_core::translator::FlavorTranslator
[−]
[src]
pub trait FlavorTranslator { type Source: 'static + Clone + Flavor; type Target: 'static + Clone + Flavor; fn translate_i32(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_i64(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_u32(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_u64(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_float(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_double(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_boolean(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_string(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_datetime(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_array(
&self,
_: <Self::Target as Flavor>::Type
) -> Result<<Self::Target as Flavor>::Type>; fn translate_map(
&self,
_: <Self::Target as Flavor>::Type,
_: <Self::Target as Flavor>::Type
) -> Result<<Self::Target as Flavor>::Type>; fn translate_any(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_bytes(&self) -> Result<<Self::Target as Flavor>::Type>; fn translate_package(
&self,
package: <Self::Source as Flavor>::Package
) -> Result<<Self::Target as Flavor>::Package>; fn translate_name(
&self,
reg: RpReg,
name: RpName<Self::Target>
) -> Result<<Self::Target as Flavor>::Type>; fn translate_field<T>(
&self,
translator: &T,
field: <Self::Source as Flavor>::Field
) -> Result<<Self::Target as Flavor>::Field>
where
T: Translator<Source = Self::Source, Target = Self::Target>; fn translate_endpoint<T>(
&self,
translator: &T,
endpoint: <Self::Source as Flavor>::Endpoint
) -> Result<<Self::Target as Flavor>::Endpoint>
where
T: Translator<Source = Self::Source, Target = Self::Target>; fn translate_local_name<T>(
&self,
translator: &T,
reg: RpReg,
name: <Self::Source as Flavor>::Name
) -> Result<<Self::Target as Flavor>::Name>
where
T: Translator<Source = Self::Source, Target = Self::Target>; }
Associated Types
Required Methods
fn translate_i32(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_i64(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_u32(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_u64(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_float(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_double(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_boolean(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_string(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_datetime(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_array(
&self,
_: <Self::Target as Flavor>::Type
) -> Result<<Self::Target as Flavor>::Type>
&self,
_: <Self::Target as Flavor>::Type
) -> Result<<Self::Target as Flavor>::Type>
fn translate_map(
&self,
_: <Self::Target as Flavor>::Type,
_: <Self::Target as Flavor>::Type
) -> Result<<Self::Target as Flavor>::Type>
&self,
_: <Self::Target as Flavor>::Type,
_: <Self::Target as Flavor>::Type
) -> Result<<Self::Target as Flavor>::Type>
fn translate_any(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_bytes(&self) -> Result<<Self::Target as Flavor>::Type>
fn translate_package(
&self,
package: <Self::Source as Flavor>::Package
) -> Result<<Self::Target as Flavor>::Package>
&self,
package: <Self::Source as Flavor>::Package
) -> Result<<Self::Target as Flavor>::Package>
Translate the given package.
fn translate_name(
&self,
reg: RpReg,
name: RpName<Self::Target>
) -> Result<<Self::Target as Flavor>::Type>
&self,
reg: RpReg,
name: RpName<Self::Target>
) -> Result<<Self::Target as Flavor>::Type>
Translate the given name.
fn translate_field<T>(
&self,
translator: &T,
field: <Self::Source as Flavor>::Field
) -> Result<<Self::Target as Flavor>::Field> where
T: Translator<Source = Self::Source, Target = Self::Target>,
&self,
translator: &T,
field: <Self::Source as Flavor>::Field
) -> Result<<Self::Target as Flavor>::Field> where
T: Translator<Source = Self::Source, Target = Self::Target>,
Translate the given field.
fn translate_endpoint<T>(
&self,
translator: &T,
endpoint: <Self::Source as Flavor>::Endpoint
) -> Result<<Self::Target as Flavor>::Endpoint> where
T: Translator<Source = Self::Source, Target = Self::Target>,
&self,
translator: &T,
endpoint: <Self::Source as Flavor>::Endpoint
) -> Result<<Self::Target as Flavor>::Endpoint> where
T: Translator<Source = Self::Source, Target = Self::Target>,
Translate the given endpoint.
fn translate_local_name<T>(
&self,
translator: &T,
reg: RpReg,
name: <Self::Source as Flavor>::Name
) -> Result<<Self::Target as Flavor>::Name> where
T: Translator<Source = Self::Source, Target = Self::Target>,
&self,
translator: &T,
reg: RpReg,
name: <Self::Source as Flavor>::Name
) -> Result<<Self::Target as Flavor>::Name> where
T: Translator<Source = Self::Source, Target = Self::Target>,
Translate a local declaration name.
Implementors
impl<P: 'static, F: 'static> FlavorTranslator for CoreFlavorTranslator<P, F> where
P: PackageTranslator<RpVersionedPackage, F::Package>,
F: Flavor<Type = RpType<F>, Field = RpField<F>, Endpoint = RpEndpoint<F>, Name = RpName<F>>, type Source = CoreFlavor; type Target = F;