1 extern crate core; 2 3 use super::allocated_memory::SliceWrapper; 4 use super::allocated_memory::SliceWrapperMut; 5 6 pub struct AllocatedStackMemory<'a, T:'a> { 7 pub mem : &'a mut [T], 8 } 9 10 define_index_ops_mut!(a, T, AllocatedStackMemory<'a, T>); 11 12 impl<'a, T: 'a> core::default::Default for AllocatedStackMemory<'a, T> { default() -> Self13 fn default() -> Self { 14 return AllocatedStackMemory::<'a, T>{mem : &mut[]}; 15 } 16 } 17 18 19 impl<'a, T: 'a> SliceWrapper<T> for AllocatedStackMemory<'a, T> { slice(& self) -> & [T]20 fn slice(& self) -> & [T] { 21 return & self.mem; 22 } 23 } 24 25 impl<'a, T: 'a> SliceWrapperMut<T> for AllocatedStackMemory<'a, T> { slice_mut(& mut self) ->& mut [T]26 fn slice_mut(& mut self) ->& mut [T] { 27 return &mut self.mem; 28 } 29 } 30 31 32 33