Enum savefile::Schema [−][src]
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.
Enum(SchemaEnum)
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]
impl Schema
pub fn new_tuple1<T1: WithSchema>(version: u32) -> Schema
[src]
pub fn new_tuple1<T1: WithSchema>(version: u32) -> Schema
pub fn new_tuple2<T1: WithSchema, T2: WithSchema>(version: u32) -> Schema
[src]
pub fn new_tuple2<T1: WithSchema, T2: WithSchema>(version: u32) -> Schema
pub fn new_tuple3<T1: WithSchema, T2: WithSchema, T3: WithSchema>(
version: u32
) -> Schema
[src]
pub fn new_tuple3<T1: WithSchema, T2: WithSchema, T3: WithSchema>(
version: u32
) -> Schema
pub fn serialized_size(&self) -> Option<usize>
[src]
pub fn serialized_size(&self) -> Option<usize>
Trait Implementations
impl Debug for Schema
[src]
impl Debug for Schema
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl PartialEq for Schema
[src]
impl PartialEq for Schema
fn eq(&self, other: &Schema) -> bool
[src]
fn eq(&self, other: &Schema) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Schema) -> bool
[src]
fn ne(&self, other: &Schema) -> bool
This method tests for !=
.
impl WithSchema for Schema
[src]
impl WithSchema for Schema
fn schema(_version: u32) -> Schema
[src]
fn schema(_version: u32) -> Schema
Returns a representation of the schema used by this Serialize implementation for the given version.
impl Serialize for Schema
[src]
impl Serialize for Schema
fn serialize(&self, serializer: &mut Serializer) -> Result<(), SavefileError>
[src]
fn serialize(&self, serializer: &mut Serializer) -> Result<(), SavefileError>
Serialize self into the given serializer.
impl Deserialize for Schema
[src]
impl Deserialize for Schema
fn deserialize(deserializer: &mut Deserializer) -> Result<Self, SavefileError>
[src]
fn deserialize(deserializer: &mut Deserializer) -> Result<Self, SavefileError>
Deserialize and return an instance of Self from the given deserializer.