protobuf/
special.rs

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