[][src]Trait versionize::Versionize

pub trait Versionize {
    fn serialize<W: Write>(
        &self,
        writer: &mut W,
        version_map: &VersionMap,
        target_version: u16
    ) -> VersionizeResult<()>;
fn deserialize<R: Read>(
        reader: &mut R,
        version_map: &VersionMap,
        source_version: u16
    ) -> VersionizeResult<Self>
    where
        Self: Sized
;
fn version() -> u16; fn type_id() -> TypeId
    where
        Self: 'static
, { ... } }

Trait that provides an interface for version aware serialization and deserialization.

Required methods

fn serialize<W: Write>(
    &self,
    writer: &mut W,
    version_map: &VersionMap,
    target_version: u16
) -> VersionizeResult<()>

Serializes self to target_verion using the specficifed writer and version_map.

fn deserialize<R: Read>(
    reader: &mut R,
    version_map: &VersionMap,
    source_version: u16
) -> VersionizeResult<Self> where
    Self: Sized

Returns a new instance of Self by deserialzing from source_version using the specficifed reader and version_map.

fn version() -> u16

Returns latest Self version number.

Loading content...

Provided methods

fn type_id() -> TypeId where
    Self: 'static, 

Returns the Self type id.

Loading content...

Implementations on Foreign Types

impl Versionize for bool[src]

impl Versionize for isize[src]

impl Versionize for i8[src]

impl Versionize for i16[src]

impl Versionize for i32[src]

impl Versionize for i64[src]

impl Versionize for usize[src]

impl Versionize for u8[src]

impl Versionize for u16[src]

impl Versionize for u32[src]

impl Versionize for u64[src]

impl Versionize for f32[src]

impl Versionize for f64[src]

impl Versionize for char[src]

impl Versionize for String[src]

impl<T> Versionize for [T; 0] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 1] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 2] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 3] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 4] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 5] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 6] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 7] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 8] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 9] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 10] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 11] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 12] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 13] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 14] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 15] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 16] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 17] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 18] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 19] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 20] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 21] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 22] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 23] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 24] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 25] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 26] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 27] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 28] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 29] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 30] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 31] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for [T; 32] where
    T: Copy + Default + Versionize
[src]

impl<T> Versionize for Box<T> where
    T: Versionize
[src]

impl<T> Versionize for Wrapping<T> where
    T: Versionize
[src]

impl<T> Versionize for Option<T> where
    T: Versionize
[src]

impl<T> Versionize for Vec<T> where
    T: Versionize
[src]

impl<T: Default + FamStruct + Versionize> Versionize for FamStructWrapper<T> where
    <T as FamStruct>::Entry: Versionize,
    T: Debug
[src]

impl<T: Versionize, U: Versionize> Versionize for (T, U)[src]

Loading content...

Implementors

Loading content...