pub trait Serializer {
type Error: Error;
type SerializeClass<'a>: Serializer<Error = Self::Error>
where Self: 'a;
type SerializeField<'a>: Serializer<Error = Self::Error>
where Self: 'a;
type SerializeMethod<'a>: Serializer<Error = Self::Error>
where Self: 'a;
type SerializeMethodArg<'a>: Serializer<Error = Self::Error>
where Self: 'a;
type SerializeMethodVar<'a>: Serializer<Error = Self::Error>
where Self: 'a;
const FLAT_CLASSES: bool;
// Required methods
fn serialize_comment(&mut self, value: &str) -> Result<(), Self::Error>;
fn serialize_class<Dst>(
&mut self,
src: &str,
dst: Dst,
) -> Result<Self::SerializeClass<'_>, Self::Error>
where Dst: IntoIterator<Item: AsRef<str>>;
fn serialize_field<Dst, DstDesc>(
&mut self,
src: &str,
desc: Option<&str>,
dst: Dst,
dst_desc: Option<DstDesc>,
) -> Result<Self::SerializeField<'_>, Self::Error>
where Dst: IntoIterator<Item: AsRef<str>>,
DstDesc: IntoIterator<Item: AsRef<str>>;
fn serialize_method<Dst, DstDesc>(
&mut self,
src: &str,
desc: Option<&str>,
dst: Dst,
dst_desc: Option<DstDesc>,
) -> Result<Self::SerializeMethod<'_>, Self::Error>
where Dst: IntoIterator<Item: AsRef<str>>,
DstDesc: IntoIterator<Item: AsRef<str>>;
fn serialize_method_arg<Dst>(
&mut self,
src: Option<&str>,
dst: Option<Dst>,
pos: Option<usize>,
lv_index: Option<usize>,
) -> Result<Self::SerializeMethodArg<'_>, Self::Error>
where Dst: IntoIterator<Item: AsRef<str>>;
fn serialize_method_var<Dst>(
&mut self,
src: Option<&str>,
dst: Option<Dst>,
lv_index: Option<usize>,
lvt_row_index: Option<usize>,
op_idx: Option<(usize, Option<usize>)>,
) -> Result<Self::SerializeMethodVar<'_>, Self::Error>
where Dst: IntoIterator<Item: AsRef<str>>;
// Provided method
fn layout_matches<'de, D>() -> bool
where D: Deserializer<'de> + ?Sized { ... }
}Expand description
Serializer of a mapping file.
Required Associated Constants§
Sourceconst FLAT_CLASSES: bool
const FLAT_CLASSES: bool
Whether inner classes should be flattened.
Required Associated Types§
Sourcetype SerializeClass<'a>: Serializer<Error = Self::Error>
where
Self: 'a
type SerializeClass<'a>: Serializer<Error = Self::Error> where Self: 'a
Type returned from Serializer::serialize_class for class content serialization.
Sourcetype SerializeField<'a>: Serializer<Error = Self::Error>
where
Self: 'a
type SerializeField<'a>: Serializer<Error = Self::Error> where Self: 'a
Type returned from Serializer::serialize_field for field comment serialization.
Sourcetype SerializeMethod<'a>: Serializer<Error = Self::Error>
where
Self: 'a
type SerializeMethod<'a>: Serializer<Error = Self::Error> where Self: 'a
Type returned from Serializer::serialize_method for method arguments, variables and comment serialization.
Sourcetype SerializeMethodArg<'a>: Serializer<Error = Self::Error>
where
Self: 'a
type SerializeMethodArg<'a>: Serializer<Error = Self::Error> where Self: 'a
Type returned from Serializer::serialize_method_arg for method argument comment serialization.
Sourcetype SerializeMethodVar<'a>: Serializer<Error = Self::Error>
where
Self: 'a
type SerializeMethodVar<'a>: Serializer<Error = Self::Error> where Self: 'a
Type returned from Serializer::serialize_method_var for method variable comment serialization.
Required Methods§
Sourcefn serialize_comment(&mut self, value: &str) -> Result<(), Self::Error>
fn serialize_comment(&mut self, value: &str) -> Result<(), Self::Error>
Serializes a comment literal.
Sourcefn serialize_class<Dst>(
&mut self,
src: &str,
dst: Dst,
) -> Result<Self::SerializeClass<'_>, Self::Error>
fn serialize_class<Dst>( &mut self, src: &str, dst: Dst, ) -> Result<Self::SerializeClass<'_>, Self::Error>
Serializes a class.
Sourcefn serialize_field<Dst, DstDesc>(
&mut self,
src: &str,
desc: Option<&str>,
dst: Dst,
dst_desc: Option<DstDesc>,
) -> Result<Self::SerializeField<'_>, Self::Error>
fn serialize_field<Dst, DstDesc>( &mut self, src: &str, desc: Option<&str>, dst: Dst, dst_desc: Option<DstDesc>, ) -> Result<Self::SerializeField<'_>, Self::Error>
Serializes a field.
Sourcefn serialize_method<Dst, DstDesc>(
&mut self,
src: &str,
desc: Option<&str>,
dst: Dst,
dst_desc: Option<DstDesc>,
) -> Result<Self::SerializeMethod<'_>, Self::Error>
fn serialize_method<Dst, DstDesc>( &mut self, src: &str, desc: Option<&str>, dst: Dst, dst_desc: Option<DstDesc>, ) -> Result<Self::SerializeMethod<'_>, Self::Error>
Serializes a method.
Sourcefn serialize_method_arg<Dst>(
&mut self,
src: Option<&str>,
dst: Option<Dst>,
pos: Option<usize>,
lv_index: Option<usize>,
) -> Result<Self::SerializeMethodArg<'_>, Self::Error>
fn serialize_method_arg<Dst>( &mut self, src: Option<&str>, dst: Option<Dst>, pos: Option<usize>, lv_index: Option<usize>, ) -> Result<Self::SerializeMethodArg<'_>, Self::Error>
Serializes a method argument.
Provided Methods§
Sourcefn layout_matches<'de, D>() -> boolwhere
D: Deserializer<'de> + ?Sized,
fn layout_matches<'de, D>() -> boolwhere
D: Deserializer<'de> + ?Sized,
Whether the deserializer’s class layout matches this serializer’s class layout.
By default this compares Self::FLAT_CLASSES of the two.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".