Serialize

Trait Serialize 

Source
pub trait Serialize: WithSchema {
    // Required method
    fn serialize(
        &self,
        serializer: &mut Serializer<'_, impl Write>,
    ) -> Result<(), SavefileError>;
}
Expand description

This trait must be implemented for all data structures you wish to be able to serialize.

To actually serialize data: create a Serializer, then call serialize on your data to save, giving the Serializer as an argument.

The most convenient way to implement this is to use use savefile-derive::Savefile;

and the use #[derive(Serialize)]

Required Methods§

Source

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Serialize self into the given serializer.

In versions prior to 0.15, ‘Serializer’ did not accept a type parameter. It now requires a type parameter with the type of writer expected.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Serialize for &str

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for IpAddr

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for SocketAddr

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for bool

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for char

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for f32

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for f64

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for i8

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for i16

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for i32

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for i64

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for i128

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for isize

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for str

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for u8

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for u16

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for u32

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for u64

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for u128

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for ()

Source§

fn serialize( &self, _serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for usize

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for String

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for Arc<str>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicBool

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicI8

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicI16

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicI32

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicI64

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicIsize

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicU8

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicU16

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicU32

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicU64

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for AtomicUsize

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for Duration

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for Error

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for PathBuf

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for SystemTime

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for BitSet<u32>

Available on crate feature bit-set only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for BitSet<u32>

Available on crate feature bit-set08 only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for BitVec<u32>

Available on crate feature bit-vec only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for BitVec<u32>

Available on crate feature bit-vec08 only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl Serialize for DateTime<Utc>

Available on crate feature chrono only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<'a, T: 'a + Serialize + ToOwned + ?Sized> Serialize for Cow<'a, T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<K: Serialize + Eq + Hash, S: BuildHasher> Serialize for IndexSet<K, S>

Available on crate feature indexmap only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<K: Serialize + Eq + Hash, V: Serialize, S: BuildHasher> Serialize for HashMap<K, V, S>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<K: Serialize + Eq + Hash, V: Serialize, S: BuildHasher> Serialize for IndexMap<K, V, S>

Available on crate feature indexmap only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<K: Serialize> Serialize for BTreeSet<K>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<K: Serialize, S: BuildHasher> Serialize for HashSet<K, S>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<K: Serialize, V: Serialize> Serialize for BTreeMap<K, V>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T1: Serialize> Serialize for (T1,)

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T1: Serialize> Serialize for Range<T1>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T1: Serialize, T2: Serialize> Serialize for (T1, T2)

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T1: Serialize, T2: Serialize, T3: Serialize> Serialize for (T1, T2, T3)

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T> Serialize for PhantomData<T>

Source§

fn serialize( &self, _serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Array> Serialize for SmallVec<T>
where T::Item: Serialize,

Available on crate feature smallvec only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize + Ord> Serialize for BinaryHeap<T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize + Copy> Serialize for Cell<T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize + Packed> Serialize for &[T]

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize + Packed> Serialize for Box<[T]>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize + Packed> Serialize for Arc<[T]>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize + Packed> Serialize for Vec<T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize + Packed, const N: usize> Serialize for [T; N]

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize> Serialize for Option<T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize> Serialize for Box<T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize> Serialize for VecDeque<T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize> Serialize for Rc<T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize> Serialize for Arc<T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize> Serialize for RefCell<T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize> Serialize for Mutex<T>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize> Serialize for Mutex<T>

Available on crate feature parking_lot only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize> Serialize for RwLock<T>

Available on crate feature parking_lot only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<T: Serialize, R: Serialize> Serialize for Result<T, R>

Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<V: Serialize + Packed, const C: usize> Serialize for ArrayVec<V, C>

Available on crate feature arrayvec only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Source§

impl<const C: usize> Serialize for ArrayString<C>

Available on crate feature arrayvec only.
Source§

fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>

Implementors§