#![allow(dead_code)]
use std::io::{self, Read, Write};
pub trait StoreReadWrite: Sized {
fn read(f: &mut dyn Read) -> io::Result<Self>;
fn write(&self, f: &mut dyn Write) -> io::Result<()>;
}
pub trait NamedPropReadWrite: Sized {
fn read(f: &mut dyn Read) -> io::Result<Self>;
fn write(&self, f: &mut dyn Write) -> io::Result<()>;
}
pub trait SearchReadWrite: Sized {
fn read(f: &mut dyn Read) -> io::Result<Self>;
fn write(&self, f: &mut dyn Write) -> io::Result<()>;
}