[][src]Enum savefile::Schema

pub enum Schema {
    Struct(SchemaStruct),
    Enum(SchemaEnum),
    Primitive(SchemaPrimitive),
    Vector(Box<Schema>),
    SchemaOption(Box<Schema>),
    Undefined,
    ZeroSize,
}

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.

Represents an enum

Primitive(SchemaPrimitive)

Represents a primitive: Any of the various integer types (u8, i8, u16, i16 etc...), or String

Vector(Box<Schema>)

A Vector of arbitrary nodes, all of the given type

SchemaOption(Box<Schema>)

An Option variable instance of the given type.

Undefined

Basically a dummy value, the Schema nodes themselves report this schema if queried.

ZeroSize

A zero-sized type. I.e, there is no data to serialize or deserialize.

Methods

impl Schema[src]

pub fn new_tuple1<T1: WithSchema>(version: u32) -> Schema[src]

pub fn new_tuple2<T1: WithSchema, T2: WithSchema>(version: u32) -> Schema[src]

pub fn new_tuple3<T1: WithSchema, T2: WithSchema, T3: WithSchema>(
    version: u32
) -> Schema
[src]

pub fn new_tuple4<T1: WithSchema, T2: WithSchema, T3: WithSchema, T4: WithSchema>(
    version: u32
) -> Schema
[src]

pub fn serialized_size(&self) -> Option<usize>[src]

Trait Implementations

impl WithSchema for Schema[src]

impl Serialize for Schema[src]

impl Deserialize for Schema[src]

impl PartialEq<Schema> for Schema[src]

impl Debug for Schema[src]

Auto Trait Implementations

impl Send for Schema

impl Unpin for Schema

impl Sync for Schema

impl UnwindSafe for Schema

impl RefUnwindSafe for Schema

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T