sanitizeable/
lib.rs

1pub use sanitizeable_derive::sanitizeable;
2
3pub trait Sanitizeable: Sized {
4    type Public;
5    type Private;
6
7    fn from_private(private: Self::Private) -> Self;
8
9    fn public(&self) -> &Self::Public;
10    fn public_mut(&mut self) -> &mut Self::Public;
11
12    fn private(&self) -> &Self::Private;
13    fn private_mut(&mut self) -> &mut Self::Private;
14
15    fn into_private(self) -> Self::Private;
16}