Trait Persistent

Source
pub trait Persistent: Sized {
    // Required methods
    fn get_name() -> &'static str;
    fn get_description() -> Description;
    fn write(&self, write: &mut dyn Write) -> SRes<()>;
    fn read(read: &mut dyn Read) -> SRes<Self>
       where Self: Sized;
    fn declare(db: &mut dyn Sytx) -> SRes<()>;
    fn put_indexes(&self, tx: &mut dyn Sytx, id: &Ref<Self>) -> SRes<()>
       where Self: Sized;
    fn remove_indexes(&self, tx: &mut dyn Sytx, id: &Ref<Self>) -> SRes<()>
       where Self: Sized;

    // Provided method
    fn filter() -> Filter<Self> { ... }
}
Expand description

Trait implemented by persistent struct, implementation automatically generated by structsy_derive.

Required Methods§

Source

fn get_name() -> &'static str

Source

fn get_description() -> Description

Source

fn write(&self, write: &mut dyn Write) -> SRes<()>

Source

fn read(read: &mut dyn Read) -> SRes<Self>
where Self: Sized,

Source

fn declare(db: &mut dyn Sytx) -> SRes<()>

Source

fn put_indexes(&self, tx: &mut dyn Sytx, id: &Ref<Self>) -> SRes<()>
where Self: Sized,

Source

fn remove_indexes(&self, tx: &mut dyn Sytx, id: &Ref<Self>) -> SRes<()>
where Self: Sized,

Provided Methods§

Source

fn filter() -> Filter<Self>

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.

Implementors§