pub struct AtomicSerializer<'i, W: Write> {
pub writer: W,
pub target: QuoteTarget,
pub level: QuoteLevel,
pub(crate) indent: Option<Indent<'i>>,
}
Expand description
A serializer that handles ordinary simple type definition with
{variety} = atomic
, or an ordinary simple type definition with
{variety} = union
whose basic members are all atomic.
This serializer can serialize only primitive types:
- numbers
- booleans
- strings
- units
- options
- unit variants of enums
Identifiers represented as strings and serialized accordingly.
Serialization of all other types returns Unsupported
error.
This serializer returns true
if something was written and false
otherwise.
Fields§
§writer: W
§target: QuoteTarget
§level: QuoteLevel
Defines which XML characters need to be escaped
indent: Option<Indent<'i>>
When Some
, the indent that should be written before the content
if content is not an empty string.
When None
an xs:list
delimiter (a space) should be written
Implementations§
Trait Implementations§
Source§impl<'i, W: Write> Serializer for AtomicSerializer<'i, W>
impl<'i, W: Write> Serializer for AtomicSerializer<'i, W>
Source§fn serialize_unit(self) -> Result<Self::Ok, Self::Error>
fn serialize_unit(self) -> Result<Self::Ok, Self::Error>
We cannot store anything, so the absence of a unit and presence of it
does not differ, so 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>
We cannot store anything, so the absence of a unit and presence of it
does not differ, so serialization of unit 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 = bool
type Ok = bool
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<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
type SerializeSeq = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
serialize_seq
for serializing the content of the
sequence.Source§type SerializeTuple = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
type SerializeTuple = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
serialize_tuple
for serializing the content of
the tuple.Source§type SerializeTupleStruct = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
type SerializeTupleStruct = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
serialize_tuple_struct
for serializing the
content of the tuple struct.Source§type SerializeTupleVariant = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
type SerializeTupleVariant = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
serialize_tuple_variant
for serializing the
content of the tuple variant.Source§type SerializeMap = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
type SerializeMap = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
serialize_map
for serializing the content of the
map.Source§type SerializeStruct = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
type SerializeStruct = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
serialize_struct
for serializing the content of
the struct.Source§type SerializeStructVariant = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, W> as Serializer>::Error>
type SerializeStructVariant = Impossible<<AtomicSerializer<'i, W> as Serializer>::Ok, <AtomicSerializer<'i, 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_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_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_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