1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
5pub struct PaneId(pub(crate) u64);
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
9pub struct SplitId(pub(crate) u64);
10
11#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct ItemId(pub(crate) u64);
15
16#[derive(Debug, Default, Clone)]
18pub struct ItemIds(u64);
19
20impl ItemIds {
21 pub fn new() -> Self {
22 Self::default()
23 }
24
25 pub fn next(&mut self) -> ItemId {
26 self.0 += 1;
27 ItemId(self.0)
28 }
29}
30
31#[derive(Debug, Default, Clone)]
33pub struct PaneIds(u64);
34
35impl PaneIds {
36 pub fn new() -> Self {
37 Self::default()
38 }
39
40 pub fn next(&mut self) -> PaneId {
41 self.0 += 1;
42 PaneId(self.0)
43 }
44}