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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
use crate::internal::bitvec::{BitArray, BitSlice};
use crate::internal::unknown_fields::{UnknownFields, UnknownFieldsImpl};
#[derive(Debug, Clone, Default)]
pub struct SharedItemsImpl<const BITFIELD_LEN32: usize> {
bitfield: BitArray<BITFIELD_LEN32>,
unknown_fields: UnknownFieldsImpl,
}
pub trait SharedItems {
type BitSliceType: BitSlice;
fn bitfield(&self) -> &Self::BitSliceType;
fn bitfield_mut(&mut self) -> &mut Self::BitSliceType;
type UnknownFieldsType: UnknownFields;
fn unknown_fields(&self) -> &Self::UnknownFieldsType;
fn unknown_fields_mut(&mut self) -> &mut Self::UnknownFieldsType;
}
impl<const BITFIELD_LEN32: usize> SharedItems for SharedItemsImpl<BITFIELD_LEN32> {
type BitSliceType = BitArray<BITFIELD_LEN32>;
fn bitfield(&self) -> &Self::BitSliceType {
&self.bitfield
}
fn bitfield_mut(&mut self) -> &mut Self::BitSliceType {
&mut self.bitfield
}
type UnknownFieldsType = UnknownFieldsImpl;
fn unknown_fields(&self) -> &Self::UnknownFieldsType {
&self.unknown_fields
}
fn unknown_fields_mut(&mut self) -> &mut Self::UnknownFieldsType {
&mut self.unknown_fields
}
}