rust/vec2d/src/lib.rs
branchtransitional_engine
changeset 15915 8f093b1b18bc
parent 15913 c5684cc62de8
equal deleted inserted replaced
15914:c571d4b8879c 15915:8f093b1b18bc
   141     fn as_mut(&mut self) -> &mut [T] {
   141     fn as_mut(&mut self) -> &mut [T] {
   142         self.as_mut_slice()
   142         self.as_mut_slice()
   143     }
   143     }
   144 }
   144 }
   145 
   145 
       
   146 impl<T: Clone> Vec2D<T> {
       
   147     pub fn from_iter<I: IntoIterator<Item = T>>(iter: I, size: &Size) -> Option<Vec2D<T>> {
       
   148         let data: Vec<T> = iter.into_iter().collect();
       
   149         if size.width * size.height == data.len() {
       
   150             Some(Vec2D { data, size: *size })
       
   151         } else {
       
   152             None
       
   153         }
       
   154     }
       
   155 }
       
   156 
   146 #[cfg(test)]
   157 #[cfg(test)]
   147 mod tests {
   158 mod tests {
   148     use super::*;
   159     use super::*;
   149 
   160 
   150     #[test]
   161     #[test]