1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] pub struct Order { removes: Vec<(usize, Option<String>)>, inserts: Vec<(Option<String>, usize)>, } impl Order { #[inline(always)] pub fn new( removes: Vec<(usize, Option<String>)>, inserts: Vec<(Option<String>, usize)>, ) -> Self { Order { removes: removes, inserts: inserts, } } #[inline(always)] pub fn removes(&self) -> &[(usize, Option<String>)] { &*self.removes } #[inline(always)] pub fn inserts(&self) -> &[(Option<String>, usize)] { &*self.inserts } #[inline] pub fn is_empty(&self) -> bool { self.removes.is_empty() && self.inserts.is_empty() } }