+ # Create from a `SequenceRead[Int]`
+ new from(array: SequenceRead[Int])
+ do
+ var carray = new CUInt16Array(array.length)
+ for i in array.length.times do
+ carray[i] = array[i]
+ end
+ return carray
+ end
+end
+
+# An array of `uint16_t` in C
+extern class NativeCUInt16Array `{ uint16_t* `}
+ super NativeCArray
+ redef type E: Int
+
+ # Initialize a new NativeCUInt16Array of `size` elements.
+ new(size: Int) `{ return calloc(size, sizeof(uint16_t)); `}
+
+ redef fun [](index) `{ return self[index]; `}
+ redef fun []=(index, val) `{ self[index] = val; `}
+
+ redef fun +(offset) `{ return self + offset; `}