# HG changeset patch # User unc0rr # Date 1539727162 -7200 # Node ID 5c9d963492bf1a9c487a6197249ef0222ecc78a2 # Parent ff77c99200077163cdbe64505f8c1d8f35fa2226 Implement get_unchecked* functions for Vec2D diff -r ff77c9920007 -r 5c9d963492bf rust/vec2d/src/lib.rs --- a/rust/vec2d/src/lib.rs Tue Oct 16 23:49:44 2018 +0300 +++ b/rust/vec2d/src/lib.rs Tue Oct 16 23:59:22 2018 +0200 @@ -51,13 +51,23 @@ } #[inline] + pub fn get(&self, row: usize, column: usize) -> Option<&>::Output> { + self.data.get(row * self.width + column) + } + + #[inline] pub fn get_mut(&mut self, row: usize, column: usize) -> Option<&mut >::Output> { self.data.get_mut(row * self.width + column) } #[inline] - pub fn get(&self, row: usize, column: usize) -> Option<&>::Output> { - self.data.get(row * self.width + column) + pub unsafe fn get_unchecked(&self, row: usize, column: usize) -> &>::Output { + self.data.get_unchecked(row * self.width + column) + } + + #[inline] + pub unsafe fn get_unchecked_mut(&mut self, row: usize, column: usize) -> &mut >::Output { + self.data.get_unchecked_mut(row * self.width + column) } }