Struct sfv::RefDictSerializer
source · pub struct RefDictSerializer<'a> { /* private fields */ }
Expand description
Serializes Dictionary
field value components incrementally.
use sfv::{RefBareItem, RefDictSerializer, Decimal, FromPrimitive};
let mut serialized_item = String::new();
let serializer = RefDictSerializer::new(&mut serialized_item);
serializer
.bare_item_member("member1", &RefBareItem::Integer(11))
.unwrap()
.parameter("foo", &RefBareItem::Boolean(true))
.unwrap()
.open_inner_list("member2")
.unwrap()
.inner_list_bare_item(&RefBareItem::Token("abc"))
.unwrap()
.inner_list_parameter("abc_param", &RefBareItem::Boolean(false))
.unwrap()
.inner_list_bare_item(&RefBareItem::Token("def"))
.unwrap()
.close_inner_list()
.parameter("bar", &RefBareItem::String("val"))
.unwrap()
.bare_item_member(
"member3",
&RefBareItem::Decimal(Decimal::from_f64(12.34566).unwrap()),
)
.unwrap();
assert_eq!(
serialized_item,
"member1=11;foo, member2=(abc;abc_param=?0 def);bar=\"val\", member3=12.346"
);
Implementations§
source§impl<'a> RefDictSerializer<'a>
impl<'a> RefDictSerializer<'a>
pub fn new(buffer: &'a mut String) -> Self
pub fn bare_item_member( self, name: &str, value: &RefBareItem<'_> ) -> Result<Self, &'static str>
pub fn parameter( self, name: &str, value: &RefBareItem<'_> ) -> Result<Self, &'static str>
pub fn open_inner_list( self, name: &str ) -> Result<RefInnerListSerializer<'a, Self>, &'static str>
Trait Implementations§
Auto Trait Implementations§
impl<'a> RefUnwindSafe for RefDictSerializer<'a>
impl<'a> Send for RefDictSerializer<'a>
impl<'a> Sync for RefDictSerializer<'a>
impl<'a> Unpin for RefDictSerializer<'a>
impl<'a> !UnwindSafe for RefDictSerializer<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more