diff options
Diffstat (limited to 'crates/ra_arena/src')
-rw-r--r-- | crates/ra_arena/src/lib.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/crates/ra_arena/src/lib.rs b/crates/ra_arena/src/lib.rs index 1c97c2662..26641e690 100644 --- a/crates/ra_arena/src/lib.rs +++ b/crates/ra_arena/src/lib.rs | |||
@@ -71,12 +71,15 @@ impl<ID: ArenaId, T> Arena<ID, T> { | |||
71 | pub fn len(&self) -> usize { | 71 | pub fn len(&self) -> usize { |
72 | self.data.len() | 72 | self.data.len() |
73 | } | 73 | } |
74 | pub fn is_empty(&self) -> bool { | ||
75 | self.data.is_empty() | ||
76 | } | ||
74 | pub fn alloc(&mut self, value: T) -> ID { | 77 | pub fn alloc(&mut self, value: T) -> ID { |
75 | let id = RawId(self.data.len() as u32); | 78 | let id = RawId(self.data.len() as u32); |
76 | self.data.push(value); | 79 | self.data.push(value); |
77 | ID::from_raw(id) | 80 | ID::from_raw(id) |
78 | } | 81 | } |
79 | pub fn iter<'a>(&'a self) -> impl Iterator<Item = (ID, &'a T)> { | 82 | pub fn iter(&self) -> impl Iterator<Item = (ID, &T)> { |
80 | self.data.iter().enumerate().map(|(idx, value)| (ID::from_raw(RawId(idx as u32)), value)) | 83 | self.data.iter().enumerate().map(|(idx, value)| (ID::from_raw(RawId(idx as u32)), value)) |
81 | } | 84 | } |
82 | } | 85 | } |