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