use buffa::bytes::BufMut;
pub use buffa::unknown_fields::UnknownField;
#[derive(Clone, Debug, Default, PartialEq)]
pub struct UnknownFieldSet {
inner: buffa::UnknownFields,
}
impl UnknownFieldSet {
#[must_use]
pub fn new() -> Self {
Self::default()
}
#[must_use]
pub fn is_empty(&self) -> bool {
self.inner.is_empty()
}
#[must_use]
pub fn len(&self) -> usize {
self.inner.len()
}
pub fn push(&mut self, field: UnknownField) {
self.inner.push(field);
}
pub fn iter(&self) -> core::slice::Iter<'_, UnknownField> {
self.inner.iter()
}
#[must_use]
pub fn encoded_len(&self, _number: u32) -> usize {
self.inner.encoded_len()
}
pub fn encode(&self, _number: u32, buf: &mut impl BufMut) {
self.inner.write_to(buf);
}
}
impl<'a> IntoIterator for &'a UnknownFieldSet {
type Item = &'a UnknownField;
type IntoIter = core::slice::Iter<'a, UnknownField>;
fn into_iter(self) -> Self::IntoIter {
self.inner.iter()
}
}