[−][src]Struct serde_diff::Apply
A deserializable structure that will apply a sequence of diff commands to the target
Examples
use serde_diff::{SerdeDiff, Diff, Apply}; use serde::{Serialize, Deserialize}; #[derive(SerdeDiff, Serialize, Deserialize, PartialEq)] struct Test { a: i32, } let diff = Diff::serializable(&Test { a: 3 }, &Test { a: 5 }); let msgpack_data = rmp_serde::to_vec_named(&diff).expect("failed to serialize diff"); let mut deserializer = rmp_serde::Deserializer::new(msgpack_data.as_slice()); let mut target = Test { a: 4 }; Apply::apply(&mut deserializer, &mut target).expect("failed when deserializing diff");
Implementations
impl<'a, 'de, T: SerdeDiff> Apply<'a, T>
[src]
pub fn deserializable(target: &'a mut T) -> Self
[src]
Create a deserializable apply, where the given target will be changed when the resulting Apply struct is deserialized
pub fn apply<D>(
deserializer: D,
target: &mut T
) -> Result<(), <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]
deserializer: D,
target: &mut T
) -> Result<(), <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Applies a sequence of diff commands to the target, as read by the deserializer
Trait Implementations
impl<'a, 'de, T: SerdeDiff> DeserializeSeed<'de> for Apply<'a, T>
[src]
type Value = ()
The type produced by using this seed.
pub fn deserialize<D>(self, deserializer: D) -> Result<Self::Value, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
impl<'a, 'de, T: SerdeDiff> Visitor<'de> for Apply<'a, T>
[src]
type Value = ()
The value produced by this visitor.
pub fn expecting(&self, formatter: &mut Formatter<'_>) -> Result
[src]
pub fn visit_seq<A>(
self,
mut seq: A
) -> Result<Self::Value, <A as SeqAccess<'de>>::Error> where
A: SeqAccess<'de>,
[src]
self,
mut seq: A
) -> Result<Self::Value, <A as SeqAccess<'de>>::Error> where
A: SeqAccess<'de>,
pub fn visit_bool<E>(self, v: bool) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_i8<E>(self, v: i8) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_i16<E>(self, v: i16) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_i128<E>(self, v: i128) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_u16<E>(self, v: u16) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_u128<E>(self, v: u128) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_f32<E>(self, v: f32) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_f64<E>(self, v: f64) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_char<E>(self, v: char) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_str<E>(self, v: &str) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_borrowed_str<E>(self, v: &'de str) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_string<E>(self, v: String) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_byte_buf<E>(self, v: Vec<u8, Global>) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_none<E>(self) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_some<D>(
self,
deserializer: D
) -> Result<Self::Value, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]
self,
deserializer: D
) -> Result<Self::Value, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
pub fn visit_unit<E>(self) -> Result<Self::Value, E> where
E: Error,
[src]
E: Error,
pub fn visit_newtype_struct<D>(
self,
deserializer: D
) -> Result<Self::Value, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]
self,
deserializer: D
) -> Result<Self::Value, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
pub fn visit_map<A>(
self,
map: A
) -> Result<Self::Value, <A as MapAccess<'de>>::Error> where
A: MapAccess<'de>,
[src]
self,
map: A
) -> Result<Self::Value, <A as MapAccess<'de>>::Error> where
A: MapAccess<'de>,
pub fn visit_enum<A>(
self,
data: A
) -> Result<Self::Value, <A as EnumAccess<'de>>::Error> where
A: EnumAccess<'de>,
[src]
self,
data: A
) -> Result<Self::Value, <A as EnumAccess<'de>>::Error> where
A: EnumAccess<'de>,
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for Apply<'a, T> where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<'a, T> Send for Apply<'a, T> where
T: Send,
[src]
T: Send,
impl<'a, T> Sync for Apply<'a, T> where
T: Sync,
[src]
T: Sync,
impl<'a, T> Unpin for Apply<'a, T>
[src]
impl<'a, T> !UnwindSafe for Apply<'a, T>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<'de, T> Expected for T where
T: Visitor<'de>,
[src]
T: Visitor<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,