def narray_all
      narr = NArray.send(narray_type, *dataspace.dims.reverse) # Note narray is fortran-style column major
      basic_read(@id, datatype.id, 0, 0, 0, narr.ffi_pointer)
      narr
    end
def narray_all
      narr = NArray.send(narray_type, *dataspace.dims.reverse) # Note narray is fortran-style column major
      basic_read(@id, datatype.id, 0, 0, 0, narr.ffi_pointer)
      narr
    end
Create an NArray of the appropriate size and read the entire
 content of the dataset into it. Will not work for complicated
 datatypes (basically only works for ints, floats and complexes, where a datatype
 composed of two floats is assumed to be a complex). There is
 scope in the future for writing custom closures for reading in more
 complex datatypes.