(&mut self, elem: String)
| 21 | } |
| 22 | |
| 23 | pub fn push(&mut self, elem: String) -> Result<(), StringArrayError> { |
| 24 | if self.elems.len() + 1 > std::u32::MAX as usize { |
| 25 | return Err(StringArrayError::NumberElements); |
| 26 | } |
| 27 | if elem.as_bytes().len() + 1 > std::u32::MAX as usize { |
| 28 | return Err(StringArrayError::ElementSize); |
| 29 | } |
| 30 | if self.cumulative_size() as usize + elem.as_bytes().len() + 1 > std::u32::MAX as usize { |
| 31 | return Err(StringArrayError::CumulativeSize); |
| 32 | } |
| 33 | self.elems.push(elem); |
| 34 | Ok(()) |
| 35 | } |
| 36 | |
| 37 | pub fn number_elements(&self) -> u32 { |
| 38 | self.elems.len() as u32 |
nothing calls this directly
no test coverage detected