rust/vec2d/src/lib.rs
changeset 14702 29dbe9ce8b7d
parent 14350 31717e1436cd
child 15901 f39f0f614dbf
equal deleted inserted replaced
14701:5e2c892b0222 14702:29dbe9ce8b7d
    93     #[inline]
    93     #[inline]
    94     pub fn rows_mut(&mut self) -> impl DoubleEndedIterator<Item = &mut [T]> {
    94     pub fn rows_mut(&mut self) -> impl DoubleEndedIterator<Item = &mut [T]> {
    95         let width = self.width();
    95         let width = self.width();
    96         self.data.chunks_exact_mut(width)
    96         self.data.chunks_exact_mut(width)
    97     }
    97     }
       
    98 
       
    99     #[inline]
       
   100     pub unsafe fn as_bytes(&self) -> &[u8] {
       
   101         use std::{
       
   102             slice,
       
   103             mem
       
   104         };
       
   105         
       
   106         slice::from_raw_parts(
       
   107             self.data.as_ptr() as *const u8,
       
   108             self.data.len() * mem::size_of::<T>(),
       
   109         )
       
   110     }
    98 }
   111 }
    99 
   112 
   100 impl<T: Copy> AsRef<[T]> for Vec2D<T> {
   113 impl<T: Copy> AsRef<[T]> for Vec2D<T> {
   101     fn as_ref(&self) -> &[T] {
   114     fn as_ref(&self) -> &[T] {
   102         self.as_slice()
   115         self.as_slice()