1 type Array<T> 2 def copy_to (array : mut Array<T>) (n : u32) = 3 for i = 0 until n do 4 array[i] = self[i] 5 6 def as_bytes = Array<u8> size = sizeof T * size 7 ptr = ptr as MutPtr as MutPtr<u8> 8 9 def equals (rhs : Array<T>) = 10 if size <> rhs.size then false 11 else 12 for i = 0 until size do 13 if self[i] <> rhs[i] then return false 14 15 true 16 17 type Array<u8> 18 def bytes_as<U> = 19 let type_size = sizeof U 20 assert size % type_size == 0 21 Array<U> size = size / type_size 22 ptr = ptr as MutPtr as MutPtr<U> 23 24 end@ array 25