pub struct QNameSerializer<W: Write> {
pub writer: W,
}
Expand description
A serializer, that ensures, that only plain types can be serialized, so result can be used as an XML tag or attribute name.
This serializer does not check that name does not contain characters that not allowed in XML names, because in some cases it should pass names that would be filtered on higher level.
Fields§
§writer: W
Writer to which this serializer writes content
Implementations§
Trait Implementations§
Source§impl<W: Write> Serializer for QNameSerializer<W>
impl<W: Write> Serializer for QNameSerializer<W>
Source§fn serialize_unit(self) -> Result<Self::Ok, Self::Error>
fn serialize_unit(self) -> Result<Self::Ok, Self::Error>
Because unit type can be represented only by empty string which is not
a valid XML name, serialization of unit returns Err(Unsupported)
Source§fn serialize_unit_struct(
self,
name: &'static str,
) -> Result<Self::Ok, Self::Error>
fn serialize_unit_struct( self, name: &'static str, ) -> Result<Self::Ok, Self::Error>
Because unit struct can be represented only by empty string which is not
a valid XML name, serialization of unit struct returns Err(Unsupported)
Source§fn serialize_newtype_variant<T: ?Sized + Serialize>(
self,
name: &'static str,
_variant_index: u32,
variant: &'static str,
_value: &T,
) -> Result<Self::Ok, DeError>
fn serialize_newtype_variant<T: ?Sized + Serialize>( self, name: &'static str, _variant_index: u32, variant: &'static str, _value: &T, ) -> Result<Self::Ok, DeError>
We cannot store both a variant discriminant and a variant value,
so serialization of enum newtype variant returns Err(Unsupported)
Source§type Ok = W
type Ok = W
Serializer
during successful
serialization. Most serializers that produce text or binary output
should set Ok = ()
and serialize into an io::Write
or buffer
contained within the Serializer
instance. Serializers that build
in-memory data structures may be simplified by using Ok
to propagate
the data structure around.Source§type SerializeSeq = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
type SerializeSeq = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
serialize_seq
for serializing the content of the
sequence.Source§type SerializeTuple = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
type SerializeTuple = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
serialize_tuple
for serializing the content of
the tuple.Source§type SerializeTupleStruct = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
type SerializeTupleStruct = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
serialize_tuple_struct
for serializing the
content of the tuple struct.Source§type SerializeTupleVariant = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
type SerializeTupleVariant = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
serialize_tuple_variant
for serializing the
content of the tuple variant.Source§type SerializeMap = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
type SerializeMap = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
serialize_map
for serializing the content of the
map.Source§type SerializeStruct = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
type SerializeStruct = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
serialize_struct
for serializing the content of
the struct.Source§type SerializeStructVariant = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
type SerializeStructVariant = Impossible<<QNameSerializer<W> as Serializer>::Ok, <QNameSerializer<W> as Serializer>::Error>
serialize_struct_variant
for serializing the
content of the struct variant.Source§fn serialize_bool(self, value: bool) -> Result<Self::Ok, Self::Error>
fn serialize_bool(self, value: bool) -> Result<Self::Ok, Self::Error>
bool
value. Read moreSource§fn serialize_i8(self, value: i8) -> Result<Self::Ok, Self::Error>
fn serialize_i8(self, value: i8) -> Result<Self::Ok, Self::Error>
i8
value. Read moreSource§fn serialize_i16(self, value: i16) -> Result<Self::Ok, Self::Error>
fn serialize_i16(self, value: i16) -> Result<Self::Ok, Self::Error>
i16
value. Read moreSource§fn serialize_i32(self, value: i32) -> Result<Self::Ok, Self::Error>
fn serialize_i32(self, value: i32) -> Result<Self::Ok, Self::Error>
i32
value. Read moreSource§fn serialize_i64(self, value: i64) -> Result<Self::Ok, Self::Error>
fn serialize_i64(self, value: i64) -> Result<Self::Ok, Self::Error>
i64
value. Read moreSource§fn serialize_u8(self, value: u8) -> Result<Self::Ok, Self::Error>
fn serialize_u8(self, value: u8) -> Result<Self::Ok, Self::Error>
u8
value. Read moreSource§fn serialize_u16(self, value: u16) -> Result<Self::Ok, Self::Error>
fn serialize_u16(self, value: u16) -> Result<Self::Ok, Self::Error>
u16
value. Read moreSource§fn serialize_u32(self, value: u32) -> Result<Self::Ok, Self::Error>
fn serialize_u32(self, value: u32) -> Result<Self::Ok, Self::Error>
u32
value. Read moreSource§fn serialize_u64(self, value: u64) -> Result<Self::Ok, Self::Error>
fn serialize_u64(self, value: u64) -> Result<Self::Ok, Self::Error>
u64
value. Read moreSource§fn serialize_i128(self, value: i128) -> Result<Self::Ok, Self::Error>
fn serialize_i128(self, value: i128) -> Result<Self::Ok, Self::Error>
i128
value. Read moreSource§fn serialize_u128(self, value: u128) -> Result<Self::Ok, Self::Error>
fn serialize_u128(self, value: u128) -> Result<Self::Ok, Self::Error>
u128
value. Read moreSource§fn serialize_f32(self, value: f32) -> Result<Self::Ok, Self::Error>
fn serialize_f32(self, value: f32) -> Result<Self::Ok, Self::Error>
f32
value. Read moreSource§fn serialize_f64(self, value: f64) -> Result<Self::Ok, Self::Error>
fn serialize_f64(self, value: f64) -> Result<Self::Ok, Self::Error>
f64
value. Read moreSource§fn serialize_char(self, value: char) -> Result<Self::Ok, Self::Error>
fn serialize_char(self, value: char) -> Result<Self::Ok, Self::Error>
Source§fn serialize_bytes(self, _value: &[u8]) -> Result<Self::Ok, Self::Error>
fn serialize_bytes(self, _value: &[u8]) -> Result<Self::Ok, Self::Error>
Source§fn serialize_some<T: ?Sized + Serialize>(
self,
value: &T,
) -> Result<Self::Ok, Self::Error>
fn serialize_some<T: ?Sized + Serialize>( self, value: &T, ) -> Result<Self::Ok, Self::Error>
Source§fn serialize_unit_variant(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str,
) -> Result<Self::Ok, Self::Error>
fn serialize_unit_variant( self, _name: &'static str, _variant_index: u32, variant: &'static str, ) -> Result<Self::Ok, Self::Error>
Source§fn serialize_newtype_struct<T: ?Sized + Serialize>(
self,
_name: &'static str,
value: &T,
) -> Result<Self::Ok, Self::Error>
fn serialize_newtype_struct<T: ?Sized + Serialize>( self, _name: &'static str, value: &T, ) -> Result<Self::Ok, Self::Error>
struct Millimeters(u8)
. Read moreSource§fn serialize_str(self, value: &str) -> Result<Self::Ok, Self::Error>
fn serialize_str(self, value: &str) -> Result<Self::Ok, Self::Error>
&str
. Read moreSource§fn serialize_seq(
self,
_len: Option<usize>,
) -> Result<Self::SerializeSeq, Self::Error>
fn serialize_seq( self, _len: Option<usize>, ) -> Result<Self::SerializeSeq, Self::Error>
serialize_element
, then a call to
end
. Read moreSource§fn serialize_tuple(
self,
_len: usize,
) -> Result<Self::SerializeTuple, Self::Error>
fn serialize_tuple( self, _len: usize, ) -> Result<Self::SerializeTuple, Self::Error>
serialize_element
,
then a call to end
. Read moreSource§fn serialize_tuple_struct(
self,
name: &'static str,
_len: usize,
) -> Result<Self::SerializeTupleStruct, Self::Error>
fn serialize_tuple_struct( self, name: &'static str, _len: usize, ) -> Result<Self::SerializeTupleStruct, Self::Error>
struct Rgb(u8, u8, u8)
. This
call must be followed by zero or more calls to serialize_field
, then a
call to end
. Read moreSource§fn serialize_tuple_variant(
self,
name: &'static str,
_variant_index: u32,
variant: &'static str,
_len: usize,
) -> Result<Self::SerializeTupleVariant, Self::Error>
fn serialize_tuple_variant( self, name: &'static str, _variant_index: u32, variant: &'static str, _len: usize, ) -> Result<Self::SerializeTupleVariant, Self::Error>
E::T
in enum E { T(u8, u8) }
. This call must be followed by zero or more calls to
serialize_field
, then a call to end
. Read moreSource§fn serialize_map(
self,
_len: Option<usize>,
) -> Result<Self::SerializeMap, Self::Error>
fn serialize_map( self, _len: Option<usize>, ) -> Result<Self::SerializeMap, Self::Error>
serialize_key
and serialize_value
, then a call to end
. Read moreSource§fn serialize_struct(
self,
name: &'static str,
_len: usize,
) -> Result<Self::SerializeStruct, Self::Error>
fn serialize_struct( self, name: &'static str, _len: usize, ) -> Result<Self::SerializeStruct, Self::Error>
struct Rgb { r: u8, g: u8, b: u8 }
.
This call must be followed by zero or more calls to serialize_field
,
then a call to end
. Read moreSource§fn serialize_struct_variant(
self,
name: &'static str,
_variant_index: u32,
variant: &'static str,
_len: usize,
) -> Result<Self::SerializeStructVariant, Self::Error>
fn serialize_struct_variant( self, name: &'static str, _variant_index: u32, variant: &'static str, _len: usize, ) -> Result<Self::SerializeStructVariant, Self::Error>
E::S
in enum E { S { r: u8, g: u8, b: u8 } }
. This call must be followed by zero or more calls to
serialize_field
, then a call to end
. Read moreSource§fn collect_seq<I>(self, iter: I) -> Result<Self::Ok, Self::Error>
fn collect_seq<I>(self, iter: I) -> Result<Self::Ok, Self::Error>
Source§fn collect_map<K, V, I>(self, iter: I) -> Result<Self::Ok, Self::Error>
fn collect_map<K, V, I>(self, iter: I) -> Result<Self::Ok, Self::Error>
Source§fn collect_str<T>(self, value: &T) -> Result<Self::Ok, Self::Error>
fn collect_str<T>(self, value: &T) -> Result<Self::Ok, Self::Error>
Display
. Read moreSource§fn is_human_readable(&self) -> bool
fn is_human_readable(&self) -> bool
Serialize
implementations should serialize in
human-readable form. Read more