1 use crate::cached_size::CachedSize; 2 use crate::UnknownFields; 3 4 /// Special fields included in each generated message. 5 #[derive(Default, Eq, PartialEq, Clone, Debug, Hash)] 6 pub struct SpecialFields { 7 unknown_fields: UnknownFields, 8 cached_size: CachedSize, 9 } 10 11 impl SpecialFields { 12 /// Defaults. new() -> SpecialFields13 pub const fn new() -> SpecialFields { 14 SpecialFields { 15 unknown_fields: UnknownFields::new(), 16 cached_size: CachedSize::new(), 17 } 18 } 19 20 /// Clear. clear(&mut self)21 pub fn clear(&mut self) { 22 self.unknown_fields.clear(); 23 // No need to clear `cached_size`. 24 } 25 26 /// Getter. cached_size(&self) -> &CachedSize27 pub fn cached_size(&self) -> &CachedSize { 28 &self.cached_size 29 } 30 31 /// Getter. unknown_fields(&self) -> &UnknownFields32 pub fn unknown_fields(&self) -> &UnknownFields { 33 &self.unknown_fields 34 } 35 36 /// Setter. mut_unknown_fields(&mut self) -> &mut UnknownFields37 pub fn mut_unknown_fields(&mut self) -> &mut UnknownFields { 38 &mut self.unknown_fields 39 } 40 } 41