Trait Save

Source
pub trait Save {
    type Meta: for<'a> Deserialize<'a>;

    // Required method
    fn __save(
        data: &Self,
        file: &mut File,
        len_so_far: &mut usize,
        global_cnt: &mut usize,
        compression_algo: CompressionAlgo,
        endian: Endian,
        level: u32,
    ) -> Result<Self::Meta>;

    // Provided method
    fn save(&self, path: &str) -> Result<()>
       where <Self as Save>::Meta: Serialize { ... }
}

Required Associated Types§

Source

type Meta: for<'a> Deserialize<'a>

Required Methods§

Source

fn __save( data: &Self, file: &mut File, len_so_far: &mut usize, global_cnt: &mut usize, compression_algo: CompressionAlgo, endian: Endian, level: u32, ) -> Result<Self::Meta>

Provided Methods§

Source

fn save(&self, path: &str) -> Result<()>
where <Self as Save>::Meta: Serialize,

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 Save for bool

Source§

type Meta = bool

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for f32

Source§

type Meta = f32

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for f64

Source§

type Meta = f64

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for i8

Source§

type Meta = i8

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for i16

Source§

type Meta = i16

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for i32

Source§

type Meta = i32

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for i64

Source§

type Meta = i64

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for isize

Source§

type Meta = isize

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for u8

Source§

type Meta = u8

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for u16

Source§

type Meta = u16

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for u32

Source§

type Meta = u32

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for u64

Source§

type Meta = u64

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for usize

Source§

type Meta = usize

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for String

Source§

type Meta = String

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl Save for Shape

Source§

type Meta = Shape

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl<T> Save for PhantomData<T>

Source§

type Meta = PhantomData<T>

Source§

fn __save( data: &Self, _: &mut File, _: &mut usize, _: &mut usize, _: CompressionAlgo, _: Endian, _: u32, ) -> Result<Self>

Source§

impl<T: Save> Save for Option<T>

Source§

type Meta = Option<<T as Save>::Meta>

Source§

fn __save( data: &Self, file: &mut File, len: &mut usize, global_cnt: &mut usize, compression_algo: CompressionAlgo, endian: Endian, level: u32, ) -> Result<Self::Meta>

Source§

impl<T: Save> Save for Vec<T>

Source§

type Meta = Vec<<T as Save>::Meta>

Source§

fn __save( data: &Self, file: &mut File, len: &mut usize, global_cnt: &mut usize, compression_algo: CompressionAlgo, endian: Endian, level: u32, ) -> Result<Self::Meta>

Source§

impl<T: Save, const N: usize> Save for [T; N]
where [T::Meta; N]: for<'a> Deserialize<'a>,

Source§

type Meta = [<T as Save>::Meta; N]

Source§

fn __save( data: &Self, file: &mut File, len: &mut usize, global_cnt: &mut usize, compression_algo: CompressionAlgo, endian: Endian, level: u32, ) -> Result<Self::Meta>

Implementors§