[−][src]Enum savefile::Schema
The schema represents the save file format of your data structure. It is an AST (Abstract Syntax Tree) for consisting of various types of nodes in the savefile format. Custom Serialize-implementations cannot add new types to this tree, but must reuse these existing ones. See the various enum variants for more information:
Variants
Struct(SchemaStruct)
Represents a struct. Custom implementations of Serialize may use this format are encouraged to use this format.
Enum(SchemaEnum)
Represents an enum
Primitive(SchemaPrimitive)
Represents a primitive: Any of the various integer types (u8, i8, u16, i16 etc...), or String
A Vector of arbitrary nodes, all of the given type
Array(SchemaArray)
An array of N arbitrary nodes, all of the given type
An Option variable instance of the given type.
Basically a dummy value, the Schema nodes themselves report this schema if queried.
A zero-sized type. I.e, there is no data to serialize or deserialize.
Implementations
impl Schema
[src]
pub fn new_tuple1<T1: WithSchema>(version: u32) -> Schema
[src]
Create a 1-element tuple
pub fn new_tuple2<T1: WithSchema, T2: WithSchema>(version: u32) -> Schema
[src]
Create a 2-element tuple
pub fn new_tuple3<T1: WithSchema, T2: WithSchema, T3: WithSchema>(
version: u32
) -> Schema
[src]
version: u32
) -> Schema
Create a 3-element tuple
pub fn new_tuple4<T1: WithSchema, T2: WithSchema, T3: WithSchema, T4: WithSchema>(
version: u32
) -> Schema
[src]
version: u32
) -> Schema
Create a 4-element tuple
pub fn serialized_size(&self) -> Option<usize>
[src]
Size
Trait Implementations
impl Debug for Schema
[src]
impl Deserialize for Schema
[src]
fn deserialize(
deserializer: &mut Deserializer<'_>
) -> Result<Self, SavefileError>
[src]
deserializer: &mut Deserializer<'_>
) -> Result<Self, SavefileError>
impl PartialEq<Schema> for Schema
[src]
impl Serialize for Schema
[src]
fn serialize(
&self,
serializer: &mut Serializer<'_>
) -> Result<(), SavefileError>
[src]
&self,
serializer: &mut Serializer<'_>
) -> Result<(), SavefileError>
impl StructuralPartialEq for Schema
[src]
impl WithSchema for Schema
[src]
Auto Trait Implementations
impl RefUnwindSafe for Schema
impl Send for Schema
impl Sync for Schema
impl Unpin for Schema
impl UnwindSafe for Schema
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,
fn borrow_mut(&mut self) -> &mut T
[src]
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.
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,