Определите смещение поля в структуре
H5ML.hoffset не рекомендуется. Используйте H5T вместо этого.
Эта функция используется, чтобы определить смещение (в байтах) структуры, H5T.insert(file_type,'a', offset(1), dtype(1));, в поле. Это используется при построении типа СОСТАВНОГО ОБЪЕКТА HDF5. Это разработано, чтобы соответствовать макросу HDF5 HOFFSET. Для получения дополнительной информации об операции макроса HOFFSET, консультируйтесь с документацией HDF5.
Параметры функции:
offset | Байтовое смещение поля в структуре. |
structure | Структура, которая содержит заданное имя поля. |
fieldname | Поле, для которого определяется смещение. |
Эта функция удерживается от использования. Это может только использоваться в рабочих процессах, которые не включают поле, которое является самостоятельно СОСТАВНЫМ ОБЪЕКТОМ HDF5 или переменной длины. Чтобы обработать эти случаи, смещения должны быть вычислены непосредственно. Например, в случае выше, пространство данных файла для такого составного объекта могло быть создано с:
dtype(1) = H5T.copy('H5T_NATIVE_INT');
dtype(2) = H5T.copy('H5T_NATIVE_DOUBLE');
dtype(3) = H5T.copy('H5T_NATIVE_FLOAT');
for j = 1:3, sz(j,1) = H5T.get_size(dtype(j)); end
% The first offset would always be zero and the size of the last
% field does not matter.
offset(1) = 0;
offset(2:3) = cumsum(sz(1:2));
file_type = H5T.create('H5T_COMPOUND',sum(sz));
H5T.insert(file_type,'a', offset(1), dtype(1));
H5T.insert(file_type,'b', offset(2), dtype(2));
H5T.insert(file_type,'c', offset(3), dtype(3));