Skip to main content

docx_rs/documents/elements/
cr.rs

1use serde::ser::{Serialize, SerializeStruct, Serializer};
2use serde::Deserialize;
3use std::io::Write;
4
5use crate::documents::BuildXML;
6use crate::xml_builder::*;
7
8#[derive(Debug, Clone, Deserialize, PartialEq)]
9pub struct CarriageReturn {}
10
11impl Default for CarriageReturn {
12    fn default() -> Self {
13        Self::new()
14    }
15}
16
17impl CarriageReturn {
18    pub fn new() -> CarriageReturn {
19        CarriageReturn {}
20    }
21}
22
23impl BuildXML for CarriageReturn {
24    fn build_to<W: Write>(
25        &self,
26        stream: crate::xml::writer::EventWriter<W>,
27    ) -> crate::xml::writer::Result<crate::xml::writer::EventWriter<W>> {
28        XMLBuilder::from(stream).cr()?.into_inner()
29    }
30}
31
32impl Serialize for CarriageReturn {
33    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
34    where
35        S: Serializer,
36    {
37        let t = serializer.serialize_struct("CarriageReturn", 0)?;
38        t.end()
39    }
40}