diff --git a/dev/api_bindings/index.html b/dev/api_bindings/index.html index 80f7d0c06..7d93fe488 100644 --- a/dev/api_bindings/index.html +++ b/dev/api_bindings/index.html @@ -1,10 +1,10 @@ Low-level library bindings · HDF5.jl

Low-level library bindings

At the lowest level, HDF5.jl operates by calling the public API of the HDF5 shared library through a set of ccall wrapper functions. This page documents the function names and nominal C argument types of the API which have bindings in this package. Note that in many cases, high-level data types are valid arguments through automatic ccall conversions. For instance, HDF5.Datatype objects will be automatically converted to their hid_t ID by Julia's cconvert+unsafe_convert ccall rules.

There are additional helper wrappers (often for out-argument functions) which are not documented here.


H5 — General Library Functions


H5A — Attribute Interface

HDF5.API.h5a_createFunction
h5a_create(loc_id::hid_t, attr_name::Cstring, type_id::hid_t, space_id::hid_t, acpl_id::hid_t, aapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Acreate2.

source
HDF5.API.h5a_create_by_nameFunction
h5a_create_by_name(loc_id::hid_t, obj_name::Cstring, attr_name::Cstring, type_id::hid_t, space_id::hid_t, acpl_id::hid_t, aapl_id::hid_t, lapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Acreate_by_name.

source
HDF5.API.h5a_iterateFunction
h5a_iterate(obj_id::hid_t, idx_type::Cint, order::Cint, n::Ptr{hsize_t}, op::Ptr{Cvoid}, op_data::Any)

See libhdf5 documentation for H5Aiterate2.

source
h5a_iterate(f, loc_id, idx_type, order, idx = 0) -> hsize_t

Executes h5a_iterate with the user-provided callback function f, returning the index where iteration ends.

The callback function must correspond to the signature

f(loc::HDF5.API.hid_t, name::Ptr{Cchar}, info::Ptr{HDF5.API.H5A_info_t}) -> Union{Bool, Integer}

where a negative return value halts iteration abnormally (triggering an error), a true or a positive value halts iteration successfully, and false or zero continues iteration.

Examples

julia> HDF5.API.h5a_iterate(obj, HDF5.API.H5_INDEX_NAME, HDF5.API.H5_ITER_INC) do loc, name, info
+gen/gen_wrappers.jl script -->

Low-level library bindings

At the lowest level, HDF5.jl operates by calling the public API of the HDF5 shared library through a set of ccall wrapper functions. This page documents the function names and nominal C argument types of the API which have bindings in this package. Note that in many cases, high-level data types are valid arguments through automatic ccall conversions. For instance, HDF5.Datatype objects will be automatically converted to their hid_t ID by Julia's cconvert+unsafe_convert ccall rules.

There are additional helper wrappers (often for out-argument functions) which are not documented here.


H5 — General Library Functions


H5A — Attribute Interface

HDF5.API.h5a_createFunction
h5a_create(loc_id::hid_t, attr_name::Cstring, type_id::hid_t, space_id::hid_t, acpl_id::hid_t, aapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Acreate2.

source
HDF5.API.h5a_create_by_nameFunction
h5a_create_by_name(loc_id::hid_t, obj_name::Cstring, attr_name::Cstring, type_id::hid_t, space_id::hid_t, acpl_id::hid_t, aapl_id::hid_t, lapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Acreate_by_name.

source
HDF5.API.h5a_iterateFunction
h5a_iterate(obj_id::hid_t, idx_type::Cint, order::Cint, n::Ptr{hsize_t}, op::Ptr{Cvoid}, op_data::Any)

See libhdf5 documentation for H5Aiterate2.

source
h5a_iterate(f, loc_id, idx_type, order, idx = 0) -> hsize_t

Executes h5a_iterate with the user-provided callback function f, returning the index where iteration ends.

The callback function must correspond to the signature

f(loc::HDF5.API.hid_t, name::Ptr{Cchar}, info::Ptr{HDF5.API.H5A_info_t}) -> Union{Bool, Integer}

where a negative return value halts iteration abnormally (triggering an error), a true or a positive value halts iteration successfully, and false or zero continues iteration.

Examples

julia> HDF5.API.h5a_iterate(obj, HDF5.API.H5_INDEX_NAME, HDF5.API.H5_ITER_INC) do loc, name, info
            println(unsafe_string(name))
            return false
-       end
source

H5D — Dataset Interface

HDF5.API.h5d_chunk_iterFunction
h5d_chunk_iter(dset_id::hid_t, dxpl_id::hid_t, cb::Ptr{Nothing}, op_data::Any)

See libhdf5 documentation for H5Dchunk_iter.

source
h5d_chunk_iter(f, dataset, [dxpl_id=H5P_DEFAULT])

Call f(offset::Ptr{hsize_t}, filter_mask::Cuint, addr::haddr_t, size::hsize_t) for each chunk. dataset maybe a HDF5.Dataset or a dataset id. dxpl_id is the the dataset transfer property list and is optional.

Available only for HDF5 1.10.x series for 1.10.9 and greater or for version HDF5 1.12.3 or greater.

source
HDF5.API.h5d_createFunction
h5d_create(loc_id::hid_t, pathname::Cstring, dtype_id::hid_t, space_id::hid_t, lcpl_id::hid_t, dcpl_id::hid_t, dapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Dcreate2.

source
HDF5.API.h5d_fillFunction
h5d_fill(fill::Ptr{Cvoid}, fill_type_id::hid_t, buf::Ptr{Cvoid}, buf_type_id::hid_t, space_id::hid_t)

See libhdf5 documentation for H5Dfill.

source
HDF5.API.h5d_gatherFunction
h5d_gather(src_space_id::hid_t, src_buf::Ptr{Cvoid}, type_id::hid_t, dst_buf_size::Csize_t, dst_buf::Ptr{Cvoid}, op::Ptr{Cvoid}, op_data::Any)

See libhdf5 documentation for H5Dgather.

source
HDF5.API.h5d_get_chunk_infoFunction
h5d_get_chunk_info(dataset_id::hid_t, fspace_id::hid_t, index::hsize_t, offset::Ptr{hsize_t}, filter_mask::Ptr{Cuint}, addr::Ptr{haddr_t}, size::Ptr{hsize_t})

See libhdf5 documentation for H5Dget_chunk_info.

source
h5d_get_chunk_info(dataset_id, fspace_id, index)
-h5d_get_chunk_info(dataset_id, index; fspace_id = HDF5.API.H5S_ALL)

Helper method to retrieve chunk information.

Returns a NamedTuple{(:offset, :filter_mask, :addr, :size), Tuple{HDF5.API.hsize_t, UInt32, HDF5.API.haddr_t, HDF5.API.hsize_t}}.

source
HDF5.API.h5d_get_chunk_info_by_coordFunction
h5d_get_chunk_info_by_coord(dataset_id::hid_t, offset::Ptr{hsize_t}, filter_mask::Ptr{Cuint}, addr::Ptr{haddr_t}, size::Ptr{hsize_t})

See libhdf5 documentation for H5Dget_chunk_info_by_coord.

source
h5d_get_chunk_info_by_coord(dataset_id, offset)

Helper method to read chunk information by coordinate. Returns a NamedTuple{(:filter_mask, :addr, :size), Tuple{UInt32, HDF5.API.haddr_t, HDF5.API.hsize_t}}.

source
HDF5.API.h5d_get_chunk_storage_sizeFunction
h5d_get_chunk_storage_size(dataset_id::hid_t, offset::Ptr{hsize_t}, chunk_nbytes::Ptr{hsize_t})

See libhdf5 documentation for H5Dget_chunk_storage_size.

source
h5d_get_chunk_storage_size(dataset_id, offset)

Helper method to retrieve the chunk storage size in bytes. Returns an integer of type HDF5.API.hsize_t.

source
HDF5.API.h5d_get_space_statusFunction
h5d_get_space_status(dataset_id::hid_t, status::Ref{Cint})

See libhdf5 documentation for H5Dget_space_status.

source
h5d_get_space_status(dataset_id)

Helper method to retrieve the status of the dataset space. Returns a HDF5.API.H5D_space_status_t (Cint) indicating the status, see HDF5.API.H5D_SPACE_STATUS_* constants.

source
HDF5.API.h5d_iterateFunction
h5d_iterate(buf::Ptr{Cvoid}, type_id::hid_t, space_id::hid_t, operator::Ptr{Cvoid}, operator_data::Any)

See libhdf5 documentation for H5Diterate.

source
HDF5.API.h5d_readFunction
h5d_read(dataset_id::hid_t, mem_type_id::hid_t, mem_space_id::hid_t, file_space_id::hid_t, xfer_plist_id::hid_t, buf::Ptr{Cvoid})

See libhdf5 documentation for H5Dread.

source
HDF5.API.h5d_vlen_get_buf_sizeFunction
h5d_vlen_get_buf_size(dset_id::hid_t, type_id::hid_t, space_id::hid_t, buf::Ptr{hsize_t})

See libhdf5 documentation for H5Dvlen_get_buf_size.

source
h5d_vlen_get_buf_size(dataset_id, type_id, space_id)

Helper method to determines the number of bytes required to store the variable length data from the dataset. Returns a value of type HDF5.API.hsize_t.

source
HDF5.API.h5d_writeFunction
h5d_write(dataset_id::hid_t, mem_type_id::hid_t, mem_space_id::hid_t, file_space_id::hid_t, xfer_plist_id::hid_t, buf::Ptr{Cvoid})

See libhdf5 documentation for H5Dwrite.

source

H5E — Error Interface

HDF5.API.h5e_get_msgFunction
h5e_get_msg(mesg_id::hid_t, mesg_type::Ref{Cint}, mesg::Ref{UInt8}, len::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Eget_msg.

source
mesg_type, mesg = h5e_get_msg(meshg_id)
source

H5F — File Interface

HDF5.API.h5f_get_file_imageFunction
h5f_get_file_image(file_id::hid_t, buf_ptr::Ptr{Cvoid}, buf_len::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Fget_file_image.

source
h5f_get_file_image(file_id)

Return a Vector{UInt8} containing the file image. Does not include the user block.

source
h5f_get_file_image(file_id, buffer::Vector{UInt8})

Store the file image in the provided buffer.

source
HDF5.API.h5f_get_free_sectionsFunction
h5f_get_free_sections(file_id::hid_t, type::H5F_mem_t, nsects::Csize_t, sect_info::Ptr{H5F_sect_info_t}) -> Cssize_t

See libhdf5 documentation for H5Fget_free_sections.

source
h5f_get_free_sections(file_id, type, [sect_info::AbstractVector{H5F_sect_info_t}])::AbstractVector{H5F_sect_info_t}

Return an AbstractVector of the free section information. If sect_info is not provided a new Vector will be allocated and returned. If sect_info is provided, a view, a SubArray, will be returned.

source
HDF5.API.h5f_get_mdc_sizeFunction
h5f_get_mdc_size(file_id::hid_t, max_size_ptr::Ptr{Csize_t}, min_clean_size_ptr::Ptr{Csize_t}, cur_size_ptr::Ptr{Csize_t}, cur_num_entries_ptr::Ptr{Cint})

See libhdf5 documentation for H5Fget_mdc_size.

source

H5G — Group Interface

HDF5.API.h5g_createFunction
h5g_create(loc_id::hid_t, pathname::Cstring, lcpl_id::hid_t, gcpl_id::hid_t, gapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Gcreate2.

source

H5I — Identifier Interface


H5L — Link Interface

HDF5.API.h5l_iterateFunction
h5l_iterate(group_id::hid_t, idx_type::Cint, order::Cint, idx::Ptr{hsize_t}, op::Ptr{Cvoid}, op_data::Any)

See libhdf5 documentation for H5Literate1.

source
h5l_iterate(f, group_id, idx_type, order, idx = 0) -> hsize_t

Executes h5l_iterate with the user-provided callback function f, returning the index where iteration ends.

The callback function must correspond to the signature

f(group::HDF5.API.hid_t, name::Ptr{Cchar}, info::Ptr{HDF5.API.H5L_info_t}) -> Union{Bool, Integer}

where a negative return value halts iteration abnormally, true or a positive value halts iteration successfully, and false or zero continues iteration.

Examples

julia> HDF5.API.h5l_iterate(hfile, HDF5.API.H5_INDEX_NAME, HDF5.API.H5_ITER_INC) do group, name, info
+       end
source

H5D — Dataset Interface

HDF5.API.h5d_chunk_iterFunction
h5d_chunk_iter(dset_id::hid_t, dxpl_id::hid_t, cb::Ptr{Nothing}, op_data::Any)

See libhdf5 documentation for H5Dchunk_iter.

source
h5d_chunk_iter(f, dataset, [dxpl_id=H5P_DEFAULT])

Call f(offset::Ptr{hsize_t}, filter_mask::Cuint, addr::haddr_t, size::hsize_t) for each chunk. dataset maybe a HDF5.Dataset or a dataset id. dxpl_id is the the dataset transfer property list and is optional.

Available only for HDF5 1.10.x series for 1.10.9 and greater or for version HDF5 1.12.3 or greater.

source
HDF5.API.h5d_createFunction
h5d_create(loc_id::hid_t, pathname::Cstring, dtype_id::hid_t, space_id::hid_t, lcpl_id::hid_t, dcpl_id::hid_t, dapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Dcreate2.

source
HDF5.API.h5d_fillFunction
h5d_fill(fill::Ptr{Cvoid}, fill_type_id::hid_t, buf::Ptr{Cvoid}, buf_type_id::hid_t, space_id::hid_t)

See libhdf5 documentation for H5Dfill.

source
HDF5.API.h5d_gatherFunction
h5d_gather(src_space_id::hid_t, src_buf::Ptr{Cvoid}, type_id::hid_t, dst_buf_size::Csize_t, dst_buf::Ptr{Cvoid}, op::Ptr{Cvoid}, op_data::Any)

See libhdf5 documentation for H5Dgather.

source
HDF5.API.h5d_get_chunk_infoFunction
h5d_get_chunk_info(dataset_id::hid_t, fspace_id::hid_t, index::hsize_t, offset::Ptr{hsize_t}, filter_mask::Ptr{Cuint}, addr::Ptr{haddr_t}, size::Ptr{hsize_t})

See libhdf5 documentation for H5Dget_chunk_info.

source
h5d_get_chunk_info(dataset_id, fspace_id, index)
+h5d_get_chunk_info(dataset_id, index; fspace_id = HDF5.API.H5S_ALL)

Helper method to retrieve chunk information.

Returns a NamedTuple{(:offset, :filter_mask, :addr, :size), Tuple{HDF5.API.hsize_t, UInt32, HDF5.API.haddr_t, HDF5.API.hsize_t}}.

source
HDF5.API.h5d_get_chunk_info_by_coordFunction
h5d_get_chunk_info_by_coord(dataset_id::hid_t, offset::Ptr{hsize_t}, filter_mask::Ptr{Cuint}, addr::Ptr{haddr_t}, size::Ptr{hsize_t})

See libhdf5 documentation for H5Dget_chunk_info_by_coord.

source
h5d_get_chunk_info_by_coord(dataset_id, offset)

Helper method to read chunk information by coordinate. Returns a NamedTuple{(:filter_mask, :addr, :size), Tuple{UInt32, HDF5.API.haddr_t, HDF5.API.hsize_t}}.

source
HDF5.API.h5d_get_chunk_storage_sizeFunction
h5d_get_chunk_storage_size(dataset_id::hid_t, offset::Ptr{hsize_t}, chunk_nbytes::Ptr{hsize_t})

See libhdf5 documentation for H5Dget_chunk_storage_size.

source
h5d_get_chunk_storage_size(dataset_id, offset)

Helper method to retrieve the chunk storage size in bytes. Returns an integer of type HDF5.API.hsize_t.

source
HDF5.API.h5d_get_space_statusFunction
h5d_get_space_status(dataset_id::hid_t, status::Ref{Cint})

See libhdf5 documentation for H5Dget_space_status.

source
h5d_get_space_status(dataset_id)

Helper method to retrieve the status of the dataset space. Returns a HDF5.API.H5D_space_status_t (Cint) indicating the status, see HDF5.API.H5D_SPACE_STATUS_* constants.

source
HDF5.API.h5d_iterateFunction
h5d_iterate(buf::Ptr{Cvoid}, type_id::hid_t, space_id::hid_t, operator::Ptr{Cvoid}, operator_data::Any)

See libhdf5 documentation for H5Diterate.

source
HDF5.API.h5d_readFunction
h5d_read(dataset_id::hid_t, mem_type_id::hid_t, mem_space_id::hid_t, file_space_id::hid_t, xfer_plist_id::hid_t, buf::Ptr{Cvoid})

See libhdf5 documentation for H5Dread.

source
HDF5.API.h5d_vlen_get_buf_sizeFunction
h5d_vlen_get_buf_size(dset_id::hid_t, type_id::hid_t, space_id::hid_t, buf::Ptr{hsize_t})

See libhdf5 documentation for H5Dvlen_get_buf_size.

source
h5d_vlen_get_buf_size(dataset_id, type_id, space_id)

Helper method to determines the number of bytes required to store the variable length data from the dataset. Returns a value of type HDF5.API.hsize_t.

source
HDF5.API.h5d_writeFunction
h5d_write(dataset_id::hid_t, mem_type_id::hid_t, mem_space_id::hid_t, file_space_id::hid_t, xfer_plist_id::hid_t, buf::Ptr{Cvoid})

See libhdf5 documentation for H5Dwrite.

source

H5E — Error Interface

HDF5.API.h5e_get_msgFunction
h5e_get_msg(mesg_id::hid_t, mesg_type::Ref{Cint}, mesg::Ref{UInt8}, len::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Eget_msg.

source
mesg_type, mesg = h5e_get_msg(meshg_id)
source

H5F — File Interface

HDF5.API.h5f_get_file_imageFunction
h5f_get_file_image(file_id::hid_t, buf_ptr::Ptr{Cvoid}, buf_len::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Fget_file_image.

source
h5f_get_file_image(file_id)

Return a Vector{UInt8} containing the file image. Does not include the user block.

source
h5f_get_file_image(file_id, buffer::Vector{UInt8})

Store the file image in the provided buffer.

source
HDF5.API.h5f_get_free_sectionsFunction
h5f_get_free_sections(file_id::hid_t, type::H5F_mem_t, nsects::Csize_t, sect_info::Ptr{H5F_sect_info_t}) -> Cssize_t

See libhdf5 documentation for H5Fget_free_sections.

source
h5f_get_free_sections(file_id, type, [sect_info::AbstractVector{H5F_sect_info_t}])::AbstractVector{H5F_sect_info_t}

Return an AbstractVector of the free section information. If sect_info is not provided a new Vector will be allocated and returned. If sect_info is provided, a view, a SubArray, will be returned.

source
HDF5.API.h5f_get_mdc_sizeFunction
h5f_get_mdc_size(file_id::hid_t, max_size_ptr::Ptr{Csize_t}, min_clean_size_ptr::Ptr{Csize_t}, cur_size_ptr::Ptr{Csize_t}, cur_num_entries_ptr::Ptr{Cint})

See libhdf5 documentation for H5Fget_mdc_size.

source

H5G — Group Interface

HDF5.API.h5g_createFunction
h5g_create(loc_id::hid_t, pathname::Cstring, lcpl_id::hid_t, gcpl_id::hid_t, gapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Gcreate2.

source

H5I — Identifier Interface


H5L — Link Interface

HDF5.API.h5l_iterateFunction
h5l_iterate(group_id::hid_t, idx_type::Cint, order::Cint, idx::Ptr{hsize_t}, op::Ptr{Cvoid}, op_data::Any)

See libhdf5 documentation for H5Literate1.

source
h5l_iterate(f, group_id, idx_type, order, idx = 0) -> hsize_t

Executes h5l_iterate with the user-provided callback function f, returning the index where iteration ends.

The callback function must correspond to the signature

f(group::HDF5.API.hid_t, name::Ptr{Cchar}, info::Ptr{HDF5.API.H5L_info_t}) -> Union{Bool, Integer}

where a negative return value halts iteration abnormally, true or a positive value halts iteration successfully, and false or zero continues iteration.

Examples

julia> HDF5.API.h5l_iterate(hfile, HDF5.API.H5_INDEX_NAME, HDF5.API.H5_ITER_INC) do group, name, info
            println(unsafe_string(name))
            return HDF5.API.herr_t(0)
-       end
source
HDF5.API.h5l_moveFunction
h5l_move(src_obj_id::hid_t, src_name::Cstring, dest_obj_id::hid_t, dest_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)

See libhdf5 documentation for H5Lmove.

source

H5O — Object Interface

HDF5.API.h5o_copyFunction
h5o_copy(src_loc_id::hid_t, src_name::Cstring, dst_loc_id::hid_t, dst_name::Cstring, ocpypl_id::hid_t, lcpl_id::hid_t)

See libhdf5 documentation for H5Ocopy.

source
HDF5.API.h5o_get_info_by_idxFunction
h5o_get_info_by_idx(loc_id::hid_t, group_name::Cstring, idx_type::H5_index_t, order::H5_iter_order_t, n::hsize_t, oinfo::Ptr{H5O_info2_t}, fields::Cuint, lapl_id::hid_t)

See libhdf5 documentation for H5Oget_info_by_idx3.

source
HDF5.API.h5o_linkFunction
h5o_link(obj_id::hid_t, new_loc_id::hid_t, new_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)

See libhdf5 documentation for H5Olink.

source
HDF5.API.h5o_visitFunction
h5o_visit(obj_id::hid_t, idx_type::H5_index_t, order::H5_iter_order_t, op::H5O_iterate2_t, op_data::Ptr{Cvoid}, fields::Cuint)

See libhdf5 documentation for H5Ovisit3.

source
HDF5.API.h5o_visit_by_nameFunction
h5o_visit_by_name(loc_id::hid_t, obj_name::Cstring, idx_type::H5_index_t, order::H5_iter_order_t, op::H5O_iterate2_t, op_data::Ptr{Cvoid}, fields::Cuint, lapl_id::hid_t)

See libhdf5 documentation for H5Ovisit_by_name3.

source

H5PL — Plugin Interface


H5P — Property Interface

HDF5.API.h5p_create_classFunction
h5p_create_class(parent::hid_t, name::Cstring, create::H5P_cls_create_func_t, create_data::Ptr{Cvoid}, copy::H5P_cls_copy_func_t, copy_data::Ptr{Cvoid}, close::H5P_cls_close_func_t, close_data::Ptr{Cvoid}) -> hid_t

See libhdf5 documentation for H5Pcreate_class.

source
HDF5.API.h5p_encodeFunction
h5p_encode(plist_id::hid_t, buf::Ptr{Cvoid}, nalloc::Ptr{Csize_t})

See libhdf5 documentation for H5Pencode1.

source
h5p_encode(plist_id::hid_t, buf::Ptr{Cvoid}, nalloc::Ptr{Csize_t}, fapl_id::hid_t)

See libhdf5 documentation for H5Pencode2.

source
HDF5.API.h5p_get_cacheFunction
h5p_get_cache(plist_id::hid_t, mdc_nelmts::Ptr{Cint}, rdcc_nslots::Ptr{Csize_t}, rdcc_nbytes::Ptr{Csize_t}, rdcc_w0::Ptr{Cdouble})

See libhdf5 documentation for H5Pget_cache.

source
HDF5.API.h5p_get_fapl_multiFunction
h5p_get_fapl_multi(fapl_id::hid_t, memb_map::Ptr{H5FD_mem_t}, memb_fapl::Ptr{hid_t}, memb_name::Ptr{Ptr{Cchar}}, memb_addr::Ptr{haddr_t}, relax::Ptr{hbool_t})

See libhdf5 documentation for H5Pget_fapl_multi.

source
HDF5.API.h5p_get_file_imageFunction
h5p_get_file_image(fapl_id::hid_t, buf_ptr_ptr::Ptr{Ptr{Cvoid}}, buf_len_ptr::Ptr{Csize_t})

See libhdf5 documentation for H5Pget_file_image.

source
h5p_get_file_image(fapl_id)::Vector{UInt8}

Retrieve a file image of the appropriate size in a Vector{UInt8}.

source
HDF5.API.h5p_get_filterFunction
h5p_get_filter(plist_id::hid_t, idx::Cuint, flags::Ptr{Cuint}, cd_nemlts::Ref{Csize_t}, cd_values::Ptr{Cuint}, namelen::Csize_t, name::Ptr{Cchar}, filter_config::Ptr{Cuint}) -> H5Z_filter_t

See libhdf5 documentation for H5Pget_filter2.

source
HDF5.API.h5p_get_filter_by_idFunction
h5p_get_filter_by_id(plist_id::hid_t, filter_id::H5Z_filter_t, flags::Ref{Cuint}, cd_nelmts::Ref{Csize_t}, cd_values::Ptr{Cuint}, namelen::Csize_t, name::Ptr{UInt8}, filter_config::Ptr{Cuint})

See libhdf5 documentation for H5Pget_filter_by_id2.

source
HDF5.API.h5p_insertFunction
h5p_insert(plist_id::hid_t, name::Cstring, size::Csize_t, value::Ptr{Cvoid}, prp_set::H5P_prp_set_func_t, prp_get::H5P_prp_get_func_t, prp_delete::H5P_prp_delete_func_t, prp_copy::H5P_prp_copy_func_t, prp_close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pinsert1.

source
h5p_insert(plist_id::hid_t, name::Cstring, size::Csize_t, value::Ptr{Cvoid}, set::H5P_prp_set_func_t, get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, copy::H5P_prp_copy_func_t, compare::H5P_prp_compare_func_t, close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pinsert2.

source
HDF5.API.h5p_registerFunction
h5p_register(cls_id::hid_t, name::Cstring, size::Csize_t, def_value::Ptr{Cvoid}, prp_create::H5P_prp_create_func_t, prp_set::H5P_prp_set_func_t, prp_get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, prp_copy::H5P_prp_copy_func_t, prp_close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pregister1.

source
h5p_register(cls_id::hid_t, name::Cstring, size::Csize_t, def_value::Ptr{Cvoid}, create::H5P_prp_create_func_t, set::H5P_prp_set_func_t, get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, copy::H5P_prp_copy_func_t, compare::H5P_prp_compare_func_t, close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pregister2.

source

H5R — Reference Interface

HDF5.API.h5r_createFunction
h5r_create(ref::Ptr{Cvoid}, loc_id::hid_t, pathname::Cstring, ref_type::Cint, space_id::hid_t)

See libhdf5 documentation for H5Rcreate.

source

H5S — Dataspace Interface


H5T — Datatype Interface

HDF5.API.h5t_commitFunction
h5t_commit(loc_id::hid_t, name::Cstring, dtype_id::hid_t, lcpl_id::hid_t, tcpl_id::hid_t, tapl_id::hid_t)

See libhdf5 documentation for H5Tcommit2.

source
HDF5.API.h5t_get_fieldsFunction
h5t_get_fields(dtype_id::hid_t, spos::Ref{Csize_t}, epos::Ref{Csize_t}, esize::Ref{Csize_t}, mpos::Ref{Csize_t}, msize::Ref{Csize_t})

See libhdf5 documentation for H5Tget_fields.

source

H5Z — Filter Interface


H5FD — File Drivers


H5DO — Optimized Functions Interface

HDF5.API.h5do_appendFunction
h5do_append(dset_id::hid_t, dxpl_id::hid_t, index::Cuint, num_elem::hsize_t, memtype::hid_t, buffer::Ptr{Cvoid})

See libhdf5 documentation for H5DOappend.

source

H5DS — Dimension Scale Interface


H5LT — Lite Interface


H5TB — Table Interface

HDF5.API.h5tb_append_recordsFunction
h5tb_append_records(loc_id::hid_t, dset_name::Cstring, nrecords::hsize_t, type_size::Csize_t, field_offset::Ptr{Csize_t}, field_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBappend_records.

source
HDF5.API.h5tb_get_field_infoFunction
h5tb_get_field_info(loc_id::hid_t, table_name::Cstring, field_names::Ptr{Ptr{UInt8}}, field_sizes::Ptr{Csize_t}, field_offsets::Ptr{Csize_t}, type_size::Ptr{Csize_t})

See libhdf5 documentation for H5TBget_field_info.

source
HDF5.API.h5tb_make_tableFunction
h5tb_make_table(table_title::Cstring, loc_id::hid_t, dset_name::Cstring, nfields::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_names::Ptr{Cstring}, field_offset::Ptr{Csize_t}, field_types::Ptr{hid_t}, chunk_size::hsize_t, fill_data::Ptr{Cvoid}, compress::Cint, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBmake_table.

source
HDF5.API.h5tb_read_recordsFunction
h5tb_read_records(loc_id::hid_t, table_name::Cstring, start::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_offsets::Ptr{Csize_t}, dst_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBread_records.

source
HDF5.API.h5tb_read_tableFunction
h5tb_read_table(loc_id::hid_t, table_name::Cstring, dst_size::Csize_t, dst_offset::Ptr{Csize_t}, dst_sizes::Ptr{Csize_t}, dst_buf::Ptr{Cvoid})

See libhdf5 documentation for H5TBread_table.

source
HDF5.API.h5tb_write_recordsFunction
h5tb_write_records(loc_id::hid_t, table_name::Cstring, start::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_offsets::Ptr{Csize_t}, field_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBwrite_records.

source
+ endsource
HDF5.API.h5l_moveFunction
h5l_move(src_obj_id::hid_t, src_name::Cstring, dest_obj_id::hid_t, dest_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)

See libhdf5 documentation for H5Lmove.

source

H5O — Object Interface

HDF5.API.h5o_are_mdc_flushes_disabledFunction
h5o_are_mdc_flushes_disabled(object_id::hid_t, are_disabled::Ptr{hbool_t})

See libhdf5 documentation for H5Oare_mdc_flushes_disabled.

source
HDF5.API.h5o_closeFunction
h5o_close(object_id::hid_t)

See libhdf5 documentation for H5Oclose.

source
HDF5.API.h5o_copyFunction
h5o_copy(src_loc_id::hid_t, src_name::Cstring, dst_loc_id::hid_t, dst_name::Cstring, ocpypl_id::hid_t, lcpl_id::hid_t)

See libhdf5 documentation for H5Ocopy.

source
HDF5.API.h5o_decr_refcountFunction
h5o_decr_refcount(object_id::hid_t)

See libhdf5 documentation for H5Odecr_refcount.

source
HDF5.API.h5o_disable_mdc_flushesFunction
h5o_disable_mdc_flushes(object_id::hid_t)

See libhdf5 documentation for H5Odisable_mdc_flushes.

source
HDF5.API.h5o_enable_mdc_flushesFunction
h5o_enable_mdc_flushes(object_id::hid_t)

See libhdf5 documentation for H5Oenable_mdc_flushes.

source
HDF5.API.h5o_exists_by_nameFunction
h5o_exists_by_name(loc_id::hid_t, name::Cstring, lapl_id::hid_t) -> Bool

See libhdf5 documentation for H5Oexists_by_name.

source
HDF5.API.h5o_flushFunction
h5o_flush(obj_id::hid_t)

See libhdf5 documentation for H5Oflush.

source
HDF5.API.h5o_get_commentFunction
h5o_get_comment(obj_id::hid_t, comment::Ptr{Cchar}, bufsize::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Oget_comment.

source
HDF5.API.h5o_get_comment_by_nameFunction
h5o_get_comment_by_name(loc_id::hid_t, name::Cstring, comment::Ptr{Cchar}, bufsize::Csize_t, lapl_id::hid_t) -> Cssize_t

See libhdf5 documentation for H5Oget_comment_by_name.

source
HDF5.API.h5o_get_infoFunction
h5o_get_info(loc_id::hid_t, oinfo::Ptr{H5O_info2_t}, fields::Cuint)

See libhdf5 documentation for H5Oget_info3.

source
HDF5.API.h5o_get_info1Function
h5o_get_info1(object_id, [buf])

Deprecated HDF5 function. Use h5o_get_info or h5o_get_native_info if possible.

See libhdf5 documentation for H5Oget_info1.

source
HDF5.API.h5o_get_info_by_idxFunction
h5o_get_info_by_idx(loc_id::hid_t, group_name::Cstring, idx_type::H5_index_t, order::H5_iter_order_t, n::hsize_t, oinfo::Ptr{H5O_info2_t}, fields::Cuint, lapl_id::hid_t)

See libhdf5 documentation for H5Oget_info_by_idx3.

source
HDF5.API.h5o_get_info_by_nameFunction
h5o_get_info_by_name(loc_id::hid_t, name::Cstring, oinfo::Ptr{H5O_info2_t}, fields::Cuint, lapl_id::hid_t)

See libhdf5 documentation for H5Oget_info_by_name3.

source
HDF5.API.h5o_get_native_infoFunction
h5o_get_native_info(loc_id::hid_t, oinfo::Ptr{H5O_native_info_t}, fields::Cuint)

See libhdf5 documentation for H5Oget_native_info.

source
HDF5.API.h5o_get_native_info_by_idxFunction
h5o_get_native_info_by_idx(loc_id::hid_t, group_name::Cstring, idx_type::H5_index_t, order::H5_iter_order_t, n::hsize_t, oinfo::Ptr{H5O_native_info_t}, fields::Cuint, lapl_id::hid_t)

See libhdf5 documentation for H5Oget_native_info_by_idx.

source
HDF5.API.h5o_get_native_info_by_nameFunction
h5o_get_native_info_by_name(loc_id::hid_t, name::Cstring, oinfo::Ptr{H5O_native_info_t}, fields::Cuint, lapl_id::hid_t)

See libhdf5 documentation for H5Oget_native_info_by_name.

source
HDF5.API.h5o_incr_refcountFunction
h5o_incr_refcount(object_id::hid_t)

See libhdf5 documentation for H5Oincr_refcount.

source
HDF5.API.h5o_linkFunction
h5o_link(obj_id::hid_t, new_loc_id::hid_t, new_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)

See libhdf5 documentation for H5Olink.

source
HDF5.API.h5o_openFunction
h5o_open(loc_id::hid_t, pathname::Cstring, lapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Oopen.

source
HDF5.API.h5o_open_by_addrFunction
h5o_open_by_addr(loc_id::hid_t, addr::haddr_t) -> hid_t

See libhdf5 documentation for H5Oopen_by_addr.

source
HDF5.API.h5o_open_by_idxFunction
h5o_open_by_idx(loc_id::hid_t, group_name::Cstring, index_type::Cint, order::Cint, n::hsize_t, lapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Oopen_by_idx.

source
HDF5.API.h5o_refreshFunction
h5o_refresh(oid::hid_t)

See libhdf5 documentation for H5Orefresh.

source
HDF5.API.h5o_set_commentFunction
h5o_set_comment(obj_id::hid_t, comment::Cstring)

See libhdf5 documentation for H5Oset_comment.

source
HDF5.API.h5o_set_comment_by_nameFunction
h5o_set_comment_by_name(loc_id::hid_t, name::Cstring, comment::Cstring, lapl_id::hid_t)

See libhdf5 documentation for H5Oset_comment_by_name.

source
HDF5.API.h5o_token_cmpFunction
h5o_token_cmp(loc_id::hid_t, token1::Ptr{H5O_token_t}, token2::Ptr{H5O_token_t}, cmp_value::Ptr{Cint})

See libhdf5 documentation for H5Otoken_cmp.

source
HDF5.API.h5o_token_from_strFunction
h5o_token_from_str(loc_id::hid_t, token_str::Cstring, token::Ptr{H5O_token_t})

See libhdf5 documentation for H5Otoken_from_str.

source
HDF5.API.h5o_token_to_strFunction
h5o_token_to_str(loc_id::hid_t, token::Ptr{H5O_token_t}, token_str::Ptr{Ptr{Cchar}})

See libhdf5 documentation for H5Otoken_to_str.

source
HDF5.API.h5o_visitFunction
h5o_visit(obj_id::hid_t, idx_type::H5_index_t, order::H5_iter_order_t, op::H5O_iterate2_t, op_data::Ptr{Cvoid}, fields::Cuint)

See libhdf5 documentation for H5Ovisit3.

source
HDF5.API.h5o_visit_by_nameFunction
h5o_visit_by_name(loc_id::hid_t, obj_name::Cstring, idx_type::H5_index_t, order::H5_iter_order_t, op::H5O_iterate2_t, op_data::Ptr{Cvoid}, fields::Cuint, lapl_id::hid_t)

See libhdf5 documentation for H5Ovisit_by_name3.

source

H5PL — Plugin Interface

HDF5.API.h5pl_appendFunction
h5pl_append(search_path::Cstring)

See libhdf5 documentation for H5PLappend.

source
HDF5.API.h5pl_getFunction
h5pl_get(index::Cuint, path_buf::Ptr{Cchar}, buf_size::Csize_t) -> Cssize_t

See libhdf5 documentation for H5PLget.

source
HDF5.API.h5pl_get_loading_stateFunction
h5pl_get_loading_state(plugin_control_mask::Ptr{Cuint})

See libhdf5 documentation for H5PLget_loading_state.

source
HDF5.API.h5pl_insertFunction
h5pl_insert(search_path::Cstring, index::Cuint)

See libhdf5 documentation for H5PLinsert.

source
HDF5.API.h5pl_prependFunction
h5pl_prepend(search_path::Cstring)

See libhdf5 documentation for H5PLprepend.

source
HDF5.API.h5pl_removeFunction
h5pl_remove(index::Cuint)

See libhdf5 documentation for H5PLremove.

source
HDF5.API.h5pl_replaceFunction
h5pl_replace(search_path::Cstring, index::Cuint)

See libhdf5 documentation for H5PLreplace.

source
HDF5.API.h5pl_set_loading_stateFunction
h5pl_set_loading_state(plugin_control_mask::Cuint)

See libhdf5 documentation for H5PLset_loading_state.

source
HDF5.API.h5pl_sizeFunction
h5pl_size(num_paths::Ptr{Cuint})

See libhdf5 documentation for H5PLsize.

source

H5P — Property Interface

HDF5.API.h5p_add_merge_committed_dtype_pathFunction
h5p_add_merge_committed_dtype_path(plist_id::hid_t, path::Cstring)

See libhdf5 documentation for H5Padd_merge_committed_dtype_path.

source
HDF5.API.h5p_all_filters_availFunction
h5p_all_filters_avail(plist_id::hid_t) -> Bool

See libhdf5 documentation for H5Pall_filters_avail.

source
HDF5.API.h5p_closeFunction
h5p_close(id::hid_t)

See libhdf5 documentation for H5Pclose.

source
HDF5.API.h5p_close_classFunction
h5p_close_class(plist_id::hid_t)

See libhdf5 documentation for H5Pclose_class.

source
HDF5.API.h5p_copyFunction
h5p_copy(plist_id::hid_t) -> hid_t

See libhdf5 documentation for H5Pcopy.

source
HDF5.API.h5p_copy_propFunction
h5p_copy_prop(dst_id::hid_t, src_id::hid_t, name::Cstring)

See libhdf5 documentation for H5Pcopy_prop.

source
HDF5.API.h5p_createFunction
h5p_create(cls_id::hid_t) -> hid_t

See libhdf5 documentation for H5Pcreate.

source
HDF5.API.h5p_create_classFunction
h5p_create_class(parent::hid_t, name::Cstring, create::H5P_cls_create_func_t, create_data::Ptr{Cvoid}, copy::H5P_cls_copy_func_t, copy_data::Ptr{Cvoid}, close::H5P_cls_close_func_t, close_data::Ptr{Cvoid}) -> hid_t

See libhdf5 documentation for H5Pcreate_class.

source
HDF5.API.h5p_decodeFunction
h5p_decode(buf::Ptr{Cvoid}) -> hid_t

See libhdf5 documentation for H5Pdecode.

source
HDF5.API.h5p_encodeFunction
h5p_encode(plist_id::hid_t, buf::Ptr{Cvoid}, nalloc::Ptr{Csize_t})

See libhdf5 documentation for H5Pencode1.

source
h5p_encode(plist_id::hid_t, buf::Ptr{Cvoid}, nalloc::Ptr{Csize_t}, fapl_id::hid_t)

See libhdf5 documentation for H5Pencode2.

source
HDF5.API.h5p_equalFunction
h5p_equal(id1::hid_t, id2::hid_t) -> Bool

See libhdf5 documentation for H5Pequal.

source
HDF5.API.h5p_existFunction
h5p_exist(plist_id::hid_t, name::Cstring) -> Bool

See libhdf5 documentation for H5Pexist.

source
HDF5.API.h5p_fill_value_definedFunction
h5p_fill_value_defined(plist::hid_t, status::Ptr{H5D_fill_value_t})

See libhdf5 documentation for H5Pfill_value_defined.

source
HDF5.API.h5p_free_merge_committed_dtype_pathsFunction
h5p_free_merge_committed_dtype_paths(plist_id::hid_t)

See libhdf5 documentation for H5Pfree_merge_committed_dtype_paths.

source
HDF5.API.h5p_getFunction
h5p_get(plist_id::hid_t, name::Cstring, value::Ptr{Cvoid})

See libhdf5 documentation for H5Pget.

source
HDF5.API.h5p_get_alignmentFunction
h5p_get_alignment(fapl_id::hid_t, threshold::Ref{hsize_t}, alignment::Ref{hsize_t})

See libhdf5 documentation for H5Pget_alignment.

source
HDF5.API.h5p_get_alloc_timeFunction
h5p_get_alloc_time(plist_id::hid_t, alloc_time::Ptr{Cint})

See libhdf5 documentation for H5Pget_alloc_time.

source
HDF5.API.h5p_get_append_flushFunction
h5p_get_append_flush(dapl_id::hid_t, dims::Cuint, boundary::Ptr{hsize_t}, func::Ptr{H5D_append_cb_t}, udata::Ptr{Ptr{Cvoid}})

See libhdf5 documentation for H5Pget_append_flush.

source
HDF5.API.h5p_get_attr_creation_orderFunction
h5p_get_attr_creation_order(plist_id::hid_t, crt_order_flags::Ptr{Cuint})

See libhdf5 documentation for H5Pget_attr_creation_order.

source
HDF5.API.h5p_get_attr_phase_changeFunction
h5p_get_attr_phase_change(plist_id::hid_t, max_compact::Ptr{Cuint}, min_dense::Ptr{Cuint})

See libhdf5 documentation for H5Pget_attr_phase_change.

source
HDF5.API.h5p_get_btree_ratiosFunction
h5p_get_btree_ratios(plist_id::hid_t, left::Ptr{Cdouble}, middle::Ptr{Cdouble}, right::Ptr{Cdouble})

See libhdf5 documentation for H5Pget_btree_ratios.

source
HDF5.API.h5p_get_bufferFunction
h5p_get_buffer(plist_id::hid_t, tconv::Ptr{Ptr{Cvoid}}, bkg::Ptr{Ptr{Cvoid}}) -> Csize_t

See libhdf5 documentation for H5Pget_buffer.

source
HDF5.API.h5p_get_cacheFunction
h5p_get_cache(plist_id::hid_t, mdc_nelmts::Ptr{Cint}, rdcc_nslots::Ptr{Csize_t}, rdcc_nbytes::Ptr{Csize_t}, rdcc_w0::Ptr{Cdouble})

See libhdf5 documentation for H5Pget_cache.

source
HDF5.API.h5p_get_char_encodingFunction
h5p_get_char_encoding(plist_id::hid_t, encoding::Ref{Cint})

See libhdf5 documentation for H5Pget_char_encoding.

source
HDF5.API.h5p_get_chunkFunction
h5p_get_chunk(plist_id::hid_t, n_dims::Cint, dims::Ptr{hsize_t}) -> Int

See libhdf5 documentation for H5Pget_chunk.

source
HDF5.API.h5p_get_chunk_cacheFunction
h5p_get_chunk_cache(dapl_id::hid_t, rdcc_nslots::Ptr{Csize_t}, rdcc_nbytes::Ptr{Csize_t}, rdcc_w0::Ptr{Cdouble})

See libhdf5 documentation for H5Pget_chunk_cache.

source
HDF5.API.h5p_get_chunk_optsFunction
h5p_get_chunk_opts(plist_id::hid_t, opts::Ptr{Cuint})

See libhdf5 documentation for H5Pget_chunk_opts.

source
HDF5.API.h5p_get_classFunction
h5p_get_class(plist_id::hid_t) -> hid_t

See libhdf5 documentation for H5Pget_class.

source
HDF5.API.h5p_get_class_nameFunction
h5p_get_class_name(pcid::hid_t) -> String

See libhdf5 documentation for H5P_GET_CLASS_NAME.

source
HDF5.API.h5p_get_class_parentFunction
h5p_get_class_parent(pclass_id::hid_t) -> hid_t

See libhdf5 documentation for H5Pget_class_parent.

source
HDF5.API.h5p_get_copy_objectFunction
h5p_get_copy_object(plist_id::hid_t, copy_options::Ptr{Cuint})

See libhdf5 documentation for H5Pget_copy_object.

source
HDF5.API.h5p_get_core_write_trackingFunction
h5p_get_core_write_tracking(fapl_id::hid_t, is_enabled::Ptr{hbool_t}, page_size::Ptr{Csize_t})

See libhdf5 documentation for H5Pget_core_write_tracking.

source
HDF5.API.h5p_get_create_intermediate_groupFunction
h5p_get_create_intermediate_group(lcpl_id::hid_t, crt_intermed_group::Ref{Cuint})

See libhdf5 documentation for H5Pget_create_intermediate_group.

source
HDF5.API.h5p_get_data_transformFunction
h5p_get_data_transform(plist_id::hid_t, expression::Ptr{Cchar}, size::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Pget_data_transform.

source
HDF5.API.h5p_get_driverFunction
h5p_get_driver(plist_id::hid_t) -> hid_t

See libhdf5 documentation for H5Pget_driver.

source
HDF5.API.h5p_get_driver_infoFunction
h5p_get_driver_info(plist_id::hid_t) -> Ptr{Cvoid}

See libhdf5 documentation for H5Pget_driver_info.

source
HDF5.API.h5p_get_dset_no_attrs_hintFunction
h5p_get_dset_no_attrs_hint(dcpl_id::hid_t, minimize::Ptr{hbool_t})

See libhdf5 documentation for H5Pget_dset_no_attrs_hint.

source
HDF5.API.h5p_get_dxpl_mpioFunction
h5p_get_dxpl_mpio(dxpl_id::hid_t, xfer_mode::Ptr{Cint})

See libhdf5 documentation for H5Pget_dxpl_mpio.

source
HDF5.API.h5p_get_edc_checkFunction
h5p_get_edc_check(plist_id::hid_t) -> H5Z_EDC_t

See libhdf5 documentation for H5Pget_edc_check.

source
HDF5.API.h5p_get_efile_prefixFunction
h5p_get_efile_prefix(dapl_id::hid_t, prefix::Ptr{UInt8}, size::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Pget_efile_prefix.

source
HDF5.API.h5p_get_elink_acc_flagsFunction
h5p_get_elink_acc_flags(lapl_id::hid_t, flags::Ptr{Cuint})

See libhdf5 documentation for H5Pget_elink_acc_flags.

source
HDF5.API.h5p_get_elink_cbFunction
h5p_get_elink_cb(lapl_id::hid_t, func::Ptr{H5L_elink_traverse_t}, op_data::Ptr{Ptr{Cvoid}})

See libhdf5 documentation for H5Pget_elink_cb.

source
HDF5.API.h5p_get_elink_faplFunction
h5p_get_elink_fapl(lapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Pget_elink_fapl.

source
HDF5.API.h5p_get_elink_file_cache_sizeFunction
h5p_get_elink_file_cache_size(plist_id::hid_t, efc_size::Ptr{Cuint})

See libhdf5 documentation for H5Pget_elink_file_cache_size.

source
HDF5.API.h5p_get_elink_prefixFunction
h5p_get_elink_prefix(plist_id::hid_t, prefix::Ptr{Cchar}, size::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Pget_elink_prefix.

source
HDF5.API.h5p_get_est_link_infoFunction
h5p_get_est_link_info(plist_id::hid_t, est_num_entries::Ptr{Cuint}, est_name_len::Ptr{Cuint})

See libhdf5 documentation for H5Pget_est_link_info.

source
HDF5.API.h5p_get_evict_on_closeFunction
h5p_get_evict_on_close(fapl_id::hid_t, evict_on_close::Ptr{hbool_t})

See libhdf5 documentation for H5Pget_evict_on_close.

source
HDF5.API.h5p_get_externalFunction
h5p_get_external(plist::hid_t, idx::Cuint, name_size::Csize_t, name::Ptr{Cuchar}, offset::Ptr{off_t}, size::Ptr{hsize_t})

See libhdf5 documentation for H5Pget_external.

source
HDF5.API.h5p_get_external_countFunction
h5p_get_external_count(plist::hid_t) -> Int

See libhdf5 documentation for H5Pget_external_count.

source
HDF5.API.h5p_get_family_offsetFunction
h5p_get_family_offset(fapl_id::hid_t, offset::Ptr{hsize_t})

See libhdf5 documentation for H5Pget_family_offset.

source
HDF5.API.h5p_get_fapl_coreFunction
h5p_get_fapl_core(fapl_id::hid_t, increment::Ptr{Csize_t}, backing_store::Ptr{hbool_t})

See libhdf5 documentation for H5Pget_fapl_core.

source
HDF5.API.h5p_get_fapl_familyFunction
h5p_get_fapl_family(fapl_id::hid_t, memb_size::Ptr{hsize_t}, memb_fapl_id::Ptr{hid_t})

See libhdf5 documentation for H5Pget_fapl_family.

source
HDF5.API.h5p_get_fapl_hdfsFunction
h5p_get_fapl_hdfs(fapl_id::hid_t, fa_out::Ptr{H5FD_hdfs_fapl_t})

See libhdf5 documentation for H5Pget_fapl_hdfs.

source
HDF5.API.h5p_get_fapl_mpioFunction
h5p_get_fapl_mpio(fapl_id::hid_t, comm::Ptr{MPI.MPI_Comm}, info::Ptr{MPI.MPI_Info})

See libhdf5 documentation for H5Pget_fapl_mpio.

source
HDF5.API.h5p_get_fapl_multiFunction
h5p_get_fapl_multi(fapl_id::hid_t, memb_map::Ptr{H5FD_mem_t}, memb_fapl::Ptr{hid_t}, memb_name::Ptr{Ptr{Cchar}}, memb_addr::Ptr{haddr_t}, relax::Ptr{hbool_t})

See libhdf5 documentation for H5Pget_fapl_multi.

source
HDF5.API.h5p_get_fapl_ros3Function
h5p_get_fapl_ros3(fapl_id::hid_t, fa_out::Ptr{H5FD_ros3_fapl_t})

See libhdf5 documentation for H5Pget_fapl_ros3.

source
HDF5.API.h5p_get_fapl_splitterFunction
h5p_get_fapl_splitter(fapl_id::hid_t, config_ptr::Ptr{H5FD_splitter_vfd_config_t})

See libhdf5 documentation for H5Pget_fapl_splitter.

source
HDF5.API.h5p_get_fclose_degreeFunction
h5p_get_fclose_degree(fapl_id::hid_t, fc_degree::Ref{Cint})

See libhdf5 documentation for H5Pget_fclose_degree.

source
HDF5.API.h5p_get_file_imageFunction
h5p_get_file_image(fapl_id::hid_t, buf_ptr_ptr::Ptr{Ptr{Cvoid}}, buf_len_ptr::Ptr{Csize_t})

See libhdf5 documentation for H5Pget_file_image.

source
h5p_get_file_image(fapl_id)::Vector{UInt8}

Retrieve a file image of the appropriate size in a Vector{UInt8}.

source
HDF5.API.h5p_get_file_image_callbacksFunction
h5p_get_file_image_callbacks(fapl_id::hid_t, callbacks_ptr::Ptr{H5FD_file_image_callbacks_t})

See libhdf5 documentation for H5Pget_file_image_callbacks.

source
h5p_get_file_image_callbacks(fapl_id)

Retrieve the file image callbacks for memory operations

source
HDF5.API.h5p_get_file_lockingFunction
h5p_get_file_locking(fapl_id::hid_t, use_file_locking::Ptr{hbool_t}, ignore_when_disabled::Ptr{hbool_t})

See libhdf5 documentation for H5Pget_file_locking.

source
HDF5.API.h5p_get_file_spaceFunction
h5p_get_file_space(plist_id::hid_t, strategy::Ptr{H5F_file_space_type_t}, threshold::Ptr{hsize_t})

See libhdf5 documentation for H5Pget_file_space.

source
HDF5.API.h5p_get_file_space_page_sizeFunction
h5p_get_file_space_page_size(plist_id::hid_t, fsp_size::Ptr{hsize_t})

See libhdf5 documentation for H5Pget_file_space_page_size.

source
HDF5.API.h5p_get_file_space_strategyFunction
h5p_get_file_space_strategy(plist_id::hid_t, strategy::Ptr{H5F_fspace_strategy_t}, persist::Ptr{hbool_t}, threshold::Ptr{hsize_t})

See libhdf5 documentation for H5Pget_file_space_strategy.

source
HDF5.API.h5p_get_fill_timeFunction
h5p_get_fill_time(plist_id::hid_t, fill_time::Ptr{H5D_fill_time_t})

See libhdf5 documentation for H5Pget_fill_time.

source
HDF5.API.h5p_get_fill_valueFunction
h5p_get_fill_value(plist_id::hid_t, type_id::hid_t, value::Ptr{Cvoid})

See libhdf5 documentation for H5Pget_fill_value.

source
HDF5.API.h5p_get_filterFunction
h5p_get_filter(plist_id::hid_t, idx::Cuint, flags::Ptr{Cuint}, cd_nemlts::Ref{Csize_t}, cd_values::Ptr{Cuint}, namelen::Csize_t, name::Ptr{Cchar}, filter_config::Ptr{Cuint}) -> H5Z_filter_t

See libhdf5 documentation for H5Pget_filter2.

source
HDF5.API.h5p_get_filter_by_idFunction
h5p_get_filter_by_id(plist_id::hid_t, filter_id::H5Z_filter_t, flags::Ref{Cuint}, cd_nelmts::Ref{Csize_t}, cd_values::Ptr{Cuint}, namelen::Csize_t, name::Ptr{UInt8}, filter_config::Ptr{Cuint})

See libhdf5 documentation for H5Pget_filter_by_id2.

source
HDF5.API.h5p_get_gc_referencesFunction
h5p_get_gc_references(fapl_id::hid_t, gc_ref::Ptr{Cuint})

See libhdf5 documentation for H5Pget_gc_references.

source
HDF5.API.h5p_get_hyper_vector_sizeFunction
h5p_get_hyper_vector_size(fapl_id::hid_t, size::Ptr{Csize_t})

See libhdf5 documentation for H5Pget_hyper_vector_size.

source
HDF5.API.h5p_get_istore_kFunction
h5p_get_istore_k(plist_id::hid_t, ik::Ptr{Cuint})

See libhdf5 documentation for H5Pget_istore_k.

source
HDF5.API.h5p_get_layoutFunction
h5p_get_layout(plist_id::hid_t) -> Int

See libhdf5 documentation for H5Pget_layout.

source
HDF5.API.h5p_get_libver_boundsFunction
h5p_get_libver_bounds(fapl_id::hid_t, low::Ref{Cint}, high::Ref{Cint})

See libhdf5 documentation for H5Pget_libver_bounds.

source
HDF5.API.h5p_get_link_creation_orderFunction
h5p_get_link_creation_order(plist_id::hid_t, crt_order_flags::Ptr{Cuint})

See libhdf5 documentation for H5Pget_link_creation_order.

source
HDF5.API.h5p_get_link_phase_changeFunction
h5p_get_link_phase_change(plist_id::hid_t, max_compact::Ptr{Cuint}, min_dense::Ptr{Cuint})

See libhdf5 documentation for H5Pget_link_phase_change.

source
HDF5.API.h5p_get_local_heap_size_hintFunction
h5p_get_local_heap_size_hint(plist_id::hid_t, size_hint::Ref{Csize_t})

See libhdf5 documentation for H5Pget_local_heap_size_hint.

source
HDF5.API.h5p_get_mcdt_search_cbFunction
h5p_get_mcdt_search_cb(plist_id::hid_t, func::Ptr{H5O_mcdt_search_cb_t}, op_data::Ptr{Ptr{Cvoid}})

See libhdf5 documentation for H5Pget_mcdt_search_cb.

source
HDF5.API.h5p_get_mdc_configFunction
h5p_get_mdc_config(plist_id::hid_t, config_ptr::Ptr{H5AC_cache_config_t})

See libhdf5 documentation for H5Pget_mdc_config.

source
HDF5.API.h5p_get_mdc_image_configFunction
h5p_get_mdc_image_config(plist_id::hid_t, config_ptr::Ptr{H5AC_cache_image_config_t})

See libhdf5 documentation for H5Pget_mdc_image_config.

source
HDF5.API.h5p_get_mdc_log_optionsFunction
h5p_get_mdc_log_options(plist_id::hid_t, is_enabled::Ptr{hbool_t}, location::Ptr{Cchar}, location_size::Ptr{Csize_t}, start_on_access::Ptr{hbool_t})

See libhdf5 documentation for H5Pget_mdc_log_options.

source
HDF5.API.h5p_get_meta_block_sizeFunction
h5p_get_meta_block_size(fapl_id::hid_t, size::Ptr{hsize_t})

See libhdf5 documentation for H5Pget_meta_block_size.

source
HDF5.API.h5p_get_metadata_read_attemptsFunction
h5p_get_metadata_read_attempts(plist_id::hid_t, attempts::Ptr{Cuint})

See libhdf5 documentation for H5Pget_metadata_read_attempts.

source
HDF5.API.h5p_get_multi_typeFunction
h5p_get_multi_type(fapl_id::hid_t, type::Ptr{H5FD_mem_t})

See libhdf5 documentation for H5Pget_multi_type.

source
HDF5.API.h5p_get_nfiltersFunction
h5p_get_nfilters(plist_id::hid_t) -> Int

See libhdf5 documentation for H5Pget_nfilters.

source
HDF5.API.h5p_get_nlinksFunction
h5p_get_nlinks(plist_id::hid_t, nlinks::Ptr{Csize_t})

See libhdf5 documentation for H5Pget_nlinks.

source
HDF5.API.h5p_get_npropsFunction
h5p_get_nprops(id::hid_t, nprops::Ptr{Csize_t})

See libhdf5 documentation for H5Pget_nprops.

source
HDF5.API.h5p_get_obj_track_timesFunction
h5p_get_obj_track_times(plist_id::hid_t, track_times::Ref{UInt8})

See libhdf5 documentation for H5Pget_obj_track_times.

source
HDF5.API.h5p_get_object_flush_cbFunction
h5p_get_object_flush_cb(plist_id::hid_t, func::Ptr{H5F_flush_cb_t}, udata::Ptr{Ptr{Cvoid}})

See libhdf5 documentation for H5Pget_object_flush_cb.

source
HDF5.API.h5p_get_page_buffer_sizeFunction
h5p_get_page_buffer_size(plist_id::hid_t, buf_size::Ptr{Csize_t}, min_meta_perc::Ptr{Cuint}, min_raw_perc::Ptr{Cuint})

See libhdf5 documentation for H5Pget_page_buffer_size.

source
HDF5.API.h5p_get_preserveFunction
h5p_get_preserve(plist_id::hid_t) -> Int

See libhdf5 documentation for H5Pget_preserve.

source
HDF5.API.h5p_get_shared_mesg_indexFunction
h5p_get_shared_mesg_index(plist_id::hid_t, index_num::Cuint, mesg_type_flags::Ptr{Cuint}, min_mesg_size::Ptr{Cuint})

See libhdf5 documentation for H5Pget_shared_mesg_index.

source
HDF5.API.h5p_get_shared_mesg_nindexesFunction
h5p_get_shared_mesg_nindexes(plist_id::hid_t, nindexes::Ptr{Cuint})

See libhdf5 documentation for H5Pget_shared_mesg_nindexes.

source
HDF5.API.h5p_get_shared_mesg_phase_changeFunction
h5p_get_shared_mesg_phase_change(plist_id::hid_t, max_list::Ptr{Cuint}, min_btree::Ptr{Cuint})

See libhdf5 documentation for H5Pget_shared_mesg_phase_change.

source
HDF5.API.h5p_get_sieve_buf_sizeFunction
h5p_get_sieve_buf_size(fapl_id::hid_t, size::Ptr{Csize_t})

See libhdf5 documentation for H5Pget_sieve_buf_size.

source
HDF5.API.h5p_get_sizeFunction
h5p_get_size(id::hid_t, name::Ptr{Cchar}, size::Ptr{Csize_t})

See libhdf5 documentation for H5Pget_size.

source
HDF5.API.h5p_get_sizesFunction
h5p_get_sizes(plist_id::hid_t, sizeof_addr::Ptr{Csize_t}, sizeof_size::Ptr{Csize_t})

See libhdf5 documentation for H5Pget_sizes.

source
HDF5.API.h5p_get_small_data_block_sizeFunction
h5p_get_small_data_block_size(fapl_id::hid_t, size::Ptr{hsize_t})

See libhdf5 documentation for H5Pget_small_data_block_size.

source
HDF5.API.h5p_get_sym_kFunction
h5p_get_sym_k(plist_id::hid_t, ik::Ptr{Cuint}, lk::Ptr{Cuint})

See libhdf5 documentation for H5Pget_sym_k.

source
HDF5.API.h5p_get_type_conv_cbFunction
h5p_get_type_conv_cb(dxpl_id::hid_t, op::Ptr{H5T_conv_except_func_t}, operate_data::Ptr{Ptr{Cvoid}})

See libhdf5 documentation for H5Pget_type_conv_cb.

source
HDF5.API.h5p_get_userblockFunction
h5p_get_userblock(plist_id::hid_t, len::Ptr{hsize_t})

See libhdf5 documentation for H5Pget_userblock.

source
HDF5.API.h5p_get_versionFunction
h5p_get_version(plist_id::hid_t, boot::Ptr{Cuint}, freelist::Ptr{Cuint}, stab::Ptr{Cuint}, shhdr::Ptr{Cuint})

See libhdf5 documentation for H5Pget_version.

source
HDF5.API.h5p_get_virtual_countFunction
h5p_get_virtual_count(dcpl_id::hid_t, count::Ptr{Csize_t})

See libhdf5 documentation for H5Pget_virtual_count.

source
HDF5.API.h5p_get_virtual_dsetnameFunction
h5p_get_virtual_dsetname(dcpl_id::hid_t, index::Csize_t, name::Ptr{Cchar}, size::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Pget_virtual_dsetname.

source
HDF5.API.h5p_get_virtual_filenameFunction
h5p_get_virtual_filename(dcpl_id::hid_t, index::Csize_t, name::Ptr{Cchar}, size::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Pget_virtual_filename.

source
HDF5.API.h5p_get_virtual_prefixFunction
h5p_get_virtual_prefix(dapl_id::hid_t, prefix::Ptr{Cchar}, size::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Pget_virtual_prefix.

source
HDF5.API.h5p_get_virtual_printf_gapFunction
h5p_get_virtual_printf_gap(dapl_id::hid_t, gap_size::Ptr{hsize_t})

See libhdf5 documentation for H5Pget_virtual_printf_gap.

source
HDF5.API.h5p_get_virtual_srcspaceFunction
h5p_get_virtual_srcspace(dcpl_id::hid_t, index::Csize_t) -> hid_t

See libhdf5 documentation for H5Pget_virtual_srcspace.

source
HDF5.API.h5p_get_virtual_viewFunction
h5p_get_virtual_view(dapl_id::hid_t, view::Ptr{H5D_vds_view_t})

See libhdf5 documentation for H5Pget_virtual_view.

source
HDF5.API.h5p_get_virtual_vspaceFunction
h5p_get_virtual_vspace(dcpl_id::hid_t, index::Csize_t) -> hid_t

See libhdf5 documentation for H5Pget_virtual_vspace.

source
HDF5.API.h5p_get_vlen_mem_managerFunction
h5p_get_vlen_mem_manager(plist_id::hid_t, alloc_func::Ptr{H5MM_allocate_t}, alloc_info::Ptr{Ptr{Cvoid}}, free_func::Ptr{H5MM_free_t}, free_info::Ptr{Ptr{Cvoid}})

See libhdf5 documentation for H5Pget_vlen_mem_manager.

source
HDF5.API.h5p_get_vol_idFunction
h5p_get_vol_id(plist_id::hid_t, vol_id::Ptr{hid_t})

See libhdf5 documentation for H5Pget_vol_id.

source
HDF5.API.h5p_get_vol_infoFunction
h5p_get_vol_info(plist_id::hid_t, vol_info::Ptr{Ptr{Cvoid}})

See libhdf5 documentation for H5Pget_vol_info.

source
HDF5.API.h5p_insertFunction
h5p_insert(plist_id::hid_t, name::Cstring, size::Csize_t, value::Ptr{Cvoid}, prp_set::H5P_prp_set_func_t, prp_get::H5P_prp_get_func_t, prp_delete::H5P_prp_delete_func_t, prp_copy::H5P_prp_copy_func_t, prp_close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pinsert1.

source
h5p_insert(plist_id::hid_t, name::Cstring, size::Csize_t, value::Ptr{Cvoid}, set::H5P_prp_set_func_t, get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, copy::H5P_prp_copy_func_t, compare::H5P_prp_compare_func_t, close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pinsert2.

source
HDF5.API.h5p_isa_classFunction
h5p_isa_class(plist_id::hid_t, pclass_id::hid_t) -> Bool

See libhdf5 documentation for H5Pisa_class.

source
HDF5.API.h5p_iterateFunction
h5p_iterate(id::hid_t, idx::Ptr{Cint}, iter_func::H5P_iterate_t, iter_data::Ptr{Cvoid}) -> Int

See libhdf5 documentation for H5Piterate.

source
HDF5.API.h5p_modify_filterFunction
h5p_modify_filter(plist_id::hid_t, filter_id::H5Z_filter_t, flags::Cuint, cd_nelmts::Csize_t, cd_values::Ptr{Cuint})

See libhdf5 documentation for H5Pmodify_filter.

source
HDF5.API.h5p_registerFunction
h5p_register(cls_id::hid_t, name::Cstring, size::Csize_t, def_value::Ptr{Cvoid}, prp_create::H5P_prp_create_func_t, prp_set::H5P_prp_set_func_t, prp_get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, prp_copy::H5P_prp_copy_func_t, prp_close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pregister1.

source
h5p_register(cls_id::hid_t, name::Cstring, size::Csize_t, def_value::Ptr{Cvoid}, create::H5P_prp_create_func_t, set::H5P_prp_set_func_t, get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, copy::H5P_prp_copy_func_t, compare::H5P_prp_compare_func_t, close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pregister2.

source
HDF5.API.h5p_removeFunction
h5p_remove(plist_id::hid_t, name::Cstring)

See libhdf5 documentation for H5Premove.

source
HDF5.API.h5p_remove_filterFunction
h5p_remove_filter(plist_id::hid_t, filter_id::H5Z_filter_t)

See libhdf5 documentation for H5Premove_filter.

source
HDF5.API.h5p_setFunction
h5p_set(plist_id::hid_t, name::Cstring, value::Ptr{Cvoid})

See libhdf5 documentation for H5Pset.

source
HDF5.API.h5p_set_alignmentFunction
h5p_set_alignment(plist_id::hid_t, threshold::hsize_t, alignment::hsize_t)

See libhdf5 documentation for H5Pset_alignment.

source
HDF5.API.h5p_set_alloc_timeFunction
h5p_set_alloc_time(plist_id::hid_t, alloc_time::Cint)

See libhdf5 documentation for H5Pset_alloc_time.

source
HDF5.API.h5p_set_append_flushFunction
h5p_set_append_flush(dapl_id::hid_t, ndims::Cuint, boundary::Ptr{hsize_t}, func::H5D_append_cb_t, udata::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_append_flush.

source
HDF5.API.h5p_set_attr_creation_orderFunction
h5p_set_attr_creation_order(plist_id::hid_t, crt_order_flags::Cuint)

See libhdf5 documentation for H5Pset_attr_creation_order.

source
HDF5.API.h5p_set_attr_phase_changeFunction
h5p_set_attr_phase_change(plist_id::hid_t, max_compact::Cuint, min_dense::Cuint)

See libhdf5 documentation for H5Pset_attr_phase_change.

source
HDF5.API.h5p_set_btree_ratiosFunction
h5p_set_btree_ratios(plist_id::hid_t, left::Cdouble, middle::Cdouble, right::Cdouble)

See libhdf5 documentation for H5Pset_btree_ratios.

source
HDF5.API.h5p_set_bufferFunction
h5p_set_buffer(plist_id::hid_t, size::Csize_t, tconv::Ptr{Cvoid}, bkg::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_buffer.

source
HDF5.API.h5p_set_cacheFunction
h5p_set_cache(plist_id::hid_t, mdc_nelmts::Cint, rdcc_nslots::Csize_t, rdcc_nbytes::Csize_t, rdcc_w0::Cdouble)

See libhdf5 documentation for H5Pset_cache.

source
HDF5.API.h5p_set_char_encodingFunction
h5p_set_char_encoding(plist_id::hid_t, encoding::Cint)

See libhdf5 documentation for H5Pset_char_encoding.

source
HDF5.API.h5p_set_chunkFunction
h5p_set_chunk(plist_id::hid_t, ndims::Cint, dims::Ptr{hsize_t})

See libhdf5 documentation for H5Pset_chunk.

source
HDF5.API.h5p_set_chunk_cacheFunction
h5p_set_chunk_cache(dapl_id::hid_t, rdcc_nslots::Csize_t, rdcc_nbytes::Csize_t, rdcc_w0::Cdouble)

See libhdf5 documentation for H5Pset_chunk_cache.

source
HDF5.API.h5p_set_chunk_optsFunction
h5p_set_chunk_opts(plist_id::hid_t, opts::Cuint)

See libhdf5 documentation for H5Pset_chunk_opts.

source
HDF5.API.h5p_set_copy_objectFunction
h5p_set_copy_object(plist_id::hid_t, copy_options::Cuint)

See libhdf5 documentation for H5Pset_copy_object.

source
HDF5.API.h5p_set_core_write_trackingFunction
h5p_set_core_write_tracking(fapl_id::hid_t, is_enabled::hbool_t, page_size::Csize_t)

See libhdf5 documentation for H5Pset_core_write_tracking.

source
HDF5.API.h5p_set_create_intermediate_groupFunction
h5p_set_create_intermediate_group(plist_id::hid_t, setting::Cuint)

See libhdf5 documentation for H5Pset_create_intermediate_group.

source
HDF5.API.h5p_set_data_transformFunction
h5p_set_data_transform(plist_id::hid_t, expression::Cstring)

See libhdf5 documentation for H5Pset_data_transform.

source
HDF5.API.h5p_set_deflateFunction
h5p_set_deflate(plist_id::hid_t, setting::Cuint)

See libhdf5 documentation for H5Pset_deflate.

source
HDF5.API.h5p_set_driverFunction
h5p_set_driver(plist_id::hid_t, driver_id::hid_t, driver_info::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_driver.

source
HDF5.API.h5p_set_dset_no_attrs_hintFunction
h5p_set_dset_no_attrs_hint(dcpl_id::hid_t, minimize::hbool_t)

See libhdf5 documentation for H5Pset_dset_no_attrs_hint.

source
HDF5.API.h5p_set_dxpl_mpioFunction
h5p_set_dxpl_mpio(dxpl_id::hid_t, xfer_mode::Cint)

See libhdf5 documentation for H5Pset_dxpl_mpio.

source
HDF5.API.h5p_set_edc_checkFunction
h5p_set_edc_check(plist_id::hid_t, check::H5Z_EDC_t)

See libhdf5 documentation for H5Pset_edc_check.

source
HDF5.API.h5p_set_efile_prefixFunction
h5p_set_efile_prefix(plist_id::hid_t, prefix::Cstring)

See libhdf5 documentation for H5Pset_efile_prefix.

source
HDF5.API.h5p_set_elink_acc_flagsFunction
h5p_set_elink_acc_flags(lapl_id::hid_t, flags::Cuint)

See libhdf5 documentation for H5Pset_elink_acc_flags.

source
HDF5.API.h5p_set_elink_cbFunction
h5p_set_elink_cb(lapl_id::hid_t, func::H5L_elink_traverse_t, op_data::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_elink_cb.

source
HDF5.API.h5p_set_elink_faplFunction
h5p_set_elink_fapl(lapl_id::hid_t, fapl_id::hid_t)

See libhdf5 documentation for H5Pset_elink_fapl.

source
HDF5.API.h5p_set_elink_file_cache_sizeFunction
h5p_set_elink_file_cache_size(plist_id::hid_t, efc_size::Cuint)

See libhdf5 documentation for H5Pset_elink_file_cache_size.

source
HDF5.API.h5p_set_elink_prefixFunction
h5p_set_elink_prefix(plist_id::hid_t, prefix::Cstring)

See libhdf5 documentation for H5Pset_elink_prefix.

source
HDF5.API.h5p_set_est_link_infoFunction
h5p_set_est_link_info(plist_id::hid_t, est_num_entries::Cuint, est_name_len::Cuint)

See libhdf5 documentation for H5Pset_est_link_info.

source
HDF5.API.h5p_set_evict_on_closeFunction
h5p_set_evict_on_close(fapl_id::hid_t, evict_on_close::hbool_t)

See libhdf5 documentation for H5Pset_evict_on_close.

source
HDF5.API.h5p_set_externalFunction
h5p_set_external(plist_id::hid_t, name::Cstring, offset::off_t, size::hsize_t)

See libhdf5 documentation for H5Pset_external.

source
HDF5.API.h5p_set_family_offsetFunction
h5p_set_family_offset(fapl_id::hid_t, offset::hsize_t)

See libhdf5 documentation for H5Pset_family_offset.

source
HDF5.API.h5p_set_fapl_coreFunction
h5p_set_fapl_core(fapl_id::hid_t, increment::Csize_t, backing_store::hbool_t)

See libhdf5 documentation for H5Pset_fapl_core.

source
HDF5.API.h5p_set_fapl_familyFunction
h5p_set_fapl_family(fapl_id::hid_t, memb_size::hsize_t, memb_fapl_id::hid_t)

See libhdf5 documentation for H5Pset_fapl_family.

source
HDF5.API.h5p_set_fapl_hdfsFunction
h5p_set_fapl_hdfs(fapl_id::hid_t, fa::Ptr{H5FD_hdfs_fapl_t})

See libhdf5 documentation for H5Pset_fapl_hdfs.

source
HDF5.API.h5p_set_fapl_logFunction
h5p_set_fapl_log(fapl_id::hid_t, logfile::Cstring, flags::Culonglong, buf_size::Csize_t)

See libhdf5 documentation for H5Pset_fapl_log.

source
HDF5.API.h5p_set_fapl_mpioFunction
h5p_set_fapl_mpio(fapl_id::hid_t, comm::MPI.MPI_Comm, info::MPI.MPI_Info)

See libhdf5 documentation for H5Pset_fapl_mpio.

source
HDF5.API.h5p_set_fapl_multiFunction
h5p_set_fapl_multi(fapl_id::hid_t, memb_map::Ptr{H5FD_mem_t}, memb_fapl::Ptr{hid_t}, memb_name::Ptr{Cstring}, memb_addr::Ptr{haddr_t}, relax::hbool_t)

See libhdf5 documentation for H5Pset_fapl_multi.

source
HDF5.API.h5p_set_fapl_ros3Function
h5p_set_fapl_ros3(fapl_id::hid_t, fa::Ptr{H5FD_ros3_fapl_t})

See libhdf5 documentation for H5Pset_fapl_ros3.

source
HDF5.API.h5p_set_fapl_sec2Function
h5p_set_fapl_sec2(fapl_id::hid_t)

See libhdf5 documentation for H5Pset_fapl_sec2.

source
HDF5.API.h5p_set_fapl_splitFunction
h5p_set_fapl_split(fapl::hid_t, meta_ext::Cstring, meta_plist_id::hid_t, raw_ext::Cstring, raw_plist_id::hid_t)

See libhdf5 documentation for H5Pset_fapl_split.

source
HDF5.API.h5p_set_fapl_splitterFunction
h5p_set_fapl_splitter(fapl_id::hid_t, config_ptr::Ptr{H5FD_splitter_vfd_config_t})

See libhdf5 documentation for H5Pset_fapl_splitter.

source
HDF5.API.h5p_set_fapl_stdioFunction
h5p_set_fapl_stdio(fapl_id::hid_t)

See libhdf5 documentation for H5Pset_fapl_stdio.

source
HDF5.API.h5p_set_fapl_windowsFunction
h5p_set_fapl_windows(fapl_id::hid_t)

See libhdf5 documentation for H5Pset_fapl_windows.

source
HDF5.API.h5p_set_fclose_degreeFunction
h5p_set_fclose_degree(plist_id::hid_t, fc_degree::Cint)

See libhdf5 documentation for H5Pset_fclose_degree.

source
HDF5.API.h5p_set_file_imageFunction
h5p_set_file_image(fapl_id::hid_t, buf_ptr::Ptr{Cvoid}, buf_len::Csize_t)

See libhdf5 documentation for H5Pset_file_image.

source
h5p_set_file_image(fapl_id, image::Vector{UInt8})

Set the file image from a Vector{UInt8}.

source
HDF5.API.h5p_set_file_image_callbacksFunction
h5p_set_file_image_callbacks(fapl_id::hid_t, callbacks_ptr::Ptr{H5FD_file_image_callbacks_t})

See libhdf5 documentation for H5Pset_file_image_callbacks.

source
HDF5.API.h5p_set_file_lockingFunction
h5p_set_file_locking(fapl_id::hid_t, use_file_locking::hbool_t, ignore_when_disabled::hbool_t)

See libhdf5 documentation for H5Pset_file_locking.

source
HDF5.API.h5p_set_file_spaceFunction
h5p_set_file_space(plist_id::hid_t, strategy::H5F_file_space_type_t, threshold::hsize_t)

See libhdf5 documentation for H5Pset_file_space.

source
HDF5.API.h5p_set_file_space_page_sizeFunction
h5p_set_file_space_page_size(plist_id::hid_t, fsp_size::hsize_t)

See libhdf5 documentation for H5Pset_file_space_page_size.

source
HDF5.API.h5p_set_file_space_strategyFunction
h5p_set_file_space_strategy(plist_id::hid_t, strategy::H5F_fspace_strategy_t, persist::hbool_t, threshold::hsize_t)

See libhdf5 documentation for H5Pset_file_space_strategy.

source
HDF5.API.h5p_set_fill_timeFunction
h5p_set_fill_time(plist_id::hid_t, fill_time::H5D_fill_time_t)

See libhdf5 documentation for H5Pset_fill_time.

source
HDF5.API.h5p_set_fill_valueFunction
h5p_set_fill_value(plist_id::hid_t, type_id::hid_t, value::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_fill_value.

source
HDF5.API.h5p_set_filterFunction
h5p_set_filter(plist_id::hid_t, filter_id::H5Z_filter_t, flags::Cuint, cd_nelmts::Csize_t, cd_values::Ptr{Cuint})

See libhdf5 documentation for H5Pset_filter.

source
HDF5.API.h5p_set_filter_callbackFunction
h5p_set_filter_callback(plist_id::hid_t, func::H5Z_filter_func_t, op_data::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_filter_callback.

source
HDF5.API.h5p_set_fletcher32Function
h5p_set_fletcher32(plist_id::hid_t)

See libhdf5 documentation for H5Pset_fletcher32.

source
HDF5.API.h5p_set_gc_referencesFunction
h5p_set_gc_references(fapl_id::hid_t, gc_ref::Cuint)

See libhdf5 documentation for H5Pset_gc_references.

source
HDF5.API.h5p_set_hyper_vector_sizeFunction
h5p_set_hyper_vector_size(plist_id::hid_t, size::Csize_t)

See libhdf5 documentation for H5Pset_hyper_vector_size.

source
HDF5.API.h5p_set_istore_kFunction
h5p_set_istore_k(plist_id::hid_t, ik::Cuint)

See libhdf5 documentation for H5Pset_istore_k.

source
HDF5.API.h5p_set_layoutFunction
h5p_set_layout(plist_id::hid_t, setting::Cint)

See libhdf5 documentation for H5Pset_layout.

source
HDF5.API.h5p_set_libver_boundsFunction
h5p_set_libver_bounds(fapl_id::hid_t, low::Cint, high::Cint)

See libhdf5 documentation for H5Pset_libver_bounds.

source
HDF5.API.h5p_set_link_creation_orderFunction
h5p_set_link_creation_order(plist_id::hid_t, crt_order_flags::Cuint)

See libhdf5 documentation for H5Pset_link_creation_order.

source
HDF5.API.h5p_set_link_phase_changeFunction
h5p_set_link_phase_change(plist_id::hid_t, max_compact::Cuint, min_dense::Cuint)

See libhdf5 documentation for H5Pset_link_phase_change.

source
HDF5.API.h5p_set_local_heap_size_hintFunction
h5p_set_local_heap_size_hint(plist_id::hid_t, size_hint::Csize_t)

See libhdf5 documentation for H5Pset_local_heap_size_hint.

source
HDF5.API.h5p_set_mcdt_search_cbFunction
h5p_set_mcdt_search_cb(plist_id::hid_t, func::H5O_mcdt_search_cb_t, op_data::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_mcdt_search_cb.

source
HDF5.API.h5p_set_mdc_configFunction
h5p_set_mdc_config(plist_id::hid_t, config_ptr::Ptr{H5AC_cache_config_t})

See libhdf5 documentation for H5Pset_mdc_config.

source
HDF5.API.h5p_set_mdc_image_configFunction
h5p_set_mdc_image_config(plist_id::hid_t, config_ptr::Ptr{H5AC_cache_image_config_t})

See libhdf5 documentation for H5Pset_mdc_image_config.

source
HDF5.API.h5p_set_mdc_log_optionsFunction
h5p_set_mdc_log_options(plist_id::hid_t, is_enabled::hbool_t, location::Cstring, start_on_access::hbool_t)

See libhdf5 documentation for H5Pset_mdc_log_options.

source
HDF5.API.h5p_set_meta_block_sizeFunction
h5p_set_meta_block_size(fapl_id::hid_t, size::hsize_t)

See libhdf5 documentation for H5Pset_meta_block_size.

source
HDF5.API.h5p_set_metadata_read_attemptsFunction
h5p_set_metadata_read_attempts(plist_id::hid_t, attempts::Cuint)

See libhdf5 documentation for H5Pset_metadata_read_attempts.

source
HDF5.API.h5p_set_multi_typeFunction
h5p_set_multi_type(fapl_id::hid_t, type::H5FD_mem_t)

See libhdf5 documentation for H5Pset_multi_type.

source
HDF5.API.h5p_set_nbitFunction
h5p_set_nbit(plist_id::hid_t)

See libhdf5 documentation for H5Pset_nbit.

source
HDF5.API.h5p_set_nlinksFunction
h5p_set_nlinks(plist_id::hid_t, nlinks::Csize_t)

See libhdf5 documentation for H5Pset_nlinks.

source
HDF5.API.h5p_set_obj_track_timesFunction
h5p_set_obj_track_times(plist_id::hid_t, track_times::UInt8)

See libhdf5 documentation for H5Pset_obj_track_times.

source
HDF5.API.h5p_set_object_flush_cbFunction
h5p_set_object_flush_cb(plist_id::hid_t, func::H5F_flush_cb_t, udata::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_object_flush_cb.

source
HDF5.API.h5p_set_page_buffer_sizeFunction
h5p_set_page_buffer_size(plist_id::hid_t, buf_size::Csize_t, min_meta_per::Cuint, min_raw_per::Cuint)

See libhdf5 documentation for H5Pset_page_buffer_size.

source
HDF5.API.h5p_set_preserveFunction
h5p_set_preserve(plist_id::hid_t, status::hbool_t)

See libhdf5 documentation for H5Pset_preserve.

source
HDF5.API.h5p_set_scaleoffsetFunction
h5p_set_scaleoffset(plist_id::hid_t, scale_type::Cint, scale_factor::Cint)

See libhdf5 documentation for H5Pset_scaleoffset.

source
HDF5.API.h5p_set_shared_mesg_indexFunction
h5p_set_shared_mesg_index(plist_id::hid_t, index_num::Cuint, mesg_type_flags::Cuint, min_mesg_size::Cuint)

See libhdf5 documentation for H5Pset_shared_mesg_index.

source
HDF5.API.h5p_set_shared_mesg_nindexesFunction
h5p_set_shared_mesg_nindexes(plist_id::hid_t, nindexes::Cuint)

See libhdf5 documentation for H5Pset_shared_mesg_nindexes.

source
HDF5.API.h5p_set_shared_mesg_phase_changeFunction
h5p_set_shared_mesg_phase_change(plist_id::hid_t, max_list::Cuint, min_btree::Cuint)

See libhdf5 documentation for H5Pset_shared_mesg_phase_change.

source
HDF5.API.h5p_set_shuffleFunction
h5p_set_shuffle(plist_id::hid_t)

See libhdf5 documentation for H5Pset_shuffle.

source
HDF5.API.h5p_set_sieve_buf_sizeFunction
h5p_set_sieve_buf_size(fapl_id::hid_t, size::Csize_t)

See libhdf5 documentation for H5Pset_sieve_buf_size.

source
HDF5.API.h5p_set_sizesFunction
h5p_set_sizes(plist_id::hid_t, sizeof_addr::Csize_t, sizeof_size::Csize_t)

See libhdf5 documentation for H5Pset_sizes.

source
HDF5.API.h5p_set_small_data_block_sizeFunction
h5p_set_small_data_block_size(fapl_id::hid_t, size::hsize_t)

See libhdf5 documentation for H5Pset_small_data_block_size.

source
HDF5.API.h5p_set_sym_kFunction
h5p_set_sym_k(plist_id::hid_t, ik::Cuint, lk::Cuint)

See libhdf5 documentation for H5Pset_sym_k.

source
HDF5.API.h5p_set_szipFunction
h5p_set_szip(plist_id::hid_t, options_mask::Cuint, pixels_per_block::Cuint)

See libhdf5 documentation for H5Pset_szip.

source
HDF5.API.h5p_set_type_conv_cbFunction
h5p_set_type_conv_cb(dxpl_id::hid_t, op::H5T_conv_except_func_t, operate_data::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_type_conv_cb.

source
HDF5.API.h5p_set_userblockFunction
h5p_set_userblock(plist_id::hid_t, len::hsize_t)

See libhdf5 documentation for H5Pset_userblock.

source
HDF5.API.h5p_set_virtualFunction
h5p_set_virtual(dcpl_id::hid_t, vspace_id::hid_t, src_file_name::Cstring, src_dset_name::Cstring, src_space_id::hid_t)

See libhdf5 documentation for H5Pset_virtual.

source
HDF5.API.h5p_set_virtual_prefixFunction
h5p_set_virtual_prefix(dapl_id::hid_t, prefix::Cstring)

See libhdf5 documentation for H5Pset_virtual_prefix.

source
HDF5.API.h5p_set_virtual_printf_gapFunction
h5p_set_virtual_printf_gap(dapl_id::hid_t, gap_size::hsize_t)

See libhdf5 documentation for H5Pset_virtual_printf_gap.

source
HDF5.API.h5p_set_virtual_viewFunction
h5p_set_virtual_view(dapl_id::hid_t, view::H5D_vds_view_t)

See libhdf5 documentation for H5Pset_virtual_view.

source
HDF5.API.h5p_set_vlen_mem_managerFunction
h5p_set_vlen_mem_manager(plist_id::hid_t, alloc_func::H5MM_allocate_t, alloc_info::Ptr{Cvoid}, free_func::H5MM_free_t, free_info::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_vlen_mem_manager.

source
HDF5.API.h5p_set_volFunction
h5p_set_vol(plist_id::hid_t, new_vol_id::hid_t, new_vol_info::Ptr{Cvoid})

See libhdf5 documentation for H5Pset_vol.

source
HDF5.API.h5p_unregisterFunction
h5p_unregister(pclass_id::hid_t, name::Cstring)

See libhdf5 documentation for H5Punregister.

source

H5R — Reference Interface

HDF5.API.h5r_createFunction
h5r_create(ref::Ptr{Cvoid}, loc_id::hid_t, pathname::Cstring, ref_type::Cint, space_id::hid_t)

See libhdf5 documentation for H5Rcreate.

source
HDF5.API.h5r_dereferenceFunction
h5r_dereference(obj_id::hid_t, oapl_id::hid_t, ref_type::Cint, ref::Ptr{Cvoid}) -> hid_t

See libhdf5 documentation for H5Rdereference2.

source
HDF5.API.h5r_get_obj_typeFunction
h5r_get_obj_type(loc_id::hid_t, ref_type::Cint, ref::Ptr{Cvoid}, obj_type::Ptr{Cint})

See libhdf5 documentation for H5Rget_obj_type2.

source
HDF5.API.h5r_get_regionFunction
h5r_get_region(loc_id::hid_t, ref_type::Cint, ref::Ptr{Cvoid}) -> hid_t

See libhdf5 documentation for H5Rget_region.

source

H5S — Dataspace Interface

HDF5.API.h5s_closeFunction
h5s_close(space_id::hid_t)

See libhdf5 documentation for H5Sclose.

source
HDF5.API.h5s_combine_hyperslabFunction
h5s_combine_hyperslab(dspace_id::hid_t, seloper::H5S_seloper_t, start::Ptr{hsize_t}, stride::Ptr{hsize_t}, count::Ptr{hsize_t}, block::Ptr{hsize_t})

See libhdf5 documentation for H5Scombine_hyperslab.

source
HDF5.API.h5s_combine_selectFunction
h5s_combine_select(space1_id::hid_t, op::H5S_seloper_t, space2_id::hid_t) -> hid_t

See libhdf5 documentation for H5Scombine_select.

source
HDF5.API.h5s_copyFunction
h5s_copy(space_id::hid_t) -> hid_t

See libhdf5 documentation for H5Scopy.

source
HDF5.API.h5s_createFunction
h5s_create(class::Cint) -> hid_t

See libhdf5 documentation for H5Screate.

source
HDF5.API.h5s_create_simpleFunction
h5s_create_simple(rank::Cint, current_dims::Ptr{hsize_t}, maximum_dims::Ptr{hsize_t}) -> hid_t

See libhdf5 documentation for H5Screate_simple.

source
HDF5.API.h5s_extent_copyFunction
h5s_extent_copy(dst::hid_t, src::hid_t)

See libhdf5 documentation for H5Sextent_copy.

source
HDF5.API.h5s_extent_equalFunction
h5s_extent_equal(space1_id::hid_t, space2_id::hid_t) -> Bool

See libhdf5 documentation for H5Sextent_equal.

source
HDF5.API.h5s_get_regular_hyperslabFunction
h5s_get_regular_hyperslab(space_id::hid_t, start::Ptr{hsize_t}, stride::Ptr{hsize_t}, count::Ptr{hsize_t}, block::Ptr{hsize_t})

See libhdf5 documentation for H5Sget_regular_hyperslab.

source
HDF5.API.h5s_get_select_boundsFunction
h5s_get_select_bounds(space_id::hid_t, starts::Ptr{hsize_t}, ends::Ptr{hsize_t})

See libhdf5 documentation for H5Sget_select_bounds.

source
HDF5.API.h5s_get_select_elem_npointsFunction
h5s_get_select_elem_npoints(space_id::hid_t) -> hssize_t

See libhdf5 documentation for H5Sget_select_elem_npoints.

source
HDF5.API.h5s_get_select_elem_pointlistFunction
h5s_get_select_elem_pointlist(space_id::hid_t, startpoint::hsize_t, numpoints::hsize_t, buf::Ptr{hsize_t})

See libhdf5 documentation for H5Sget_select_elem_pointlist.

source
HDF5.API.h5s_get_select_hyper_blocklistFunction
h5s_get_select_hyper_blocklist(space_id::hid_t, startblock::hsize_t, numblocks::hsize_t, buf::Ptr{hsize_t})

See libhdf5 documentation for H5Sget_select_hyper_blocklist.

source
HDF5.API.h5s_get_select_hyper_nblocksFunction
h5s_get_select_hyper_nblocks(space_id::hid_t) -> hssize_t

See libhdf5 documentation for H5Sget_select_hyper_nblocks.

source
HDF5.API.h5s_get_select_npointsFunction
h5s_get_select_npoints(space_id::hid_t) -> hsize_t

See libhdf5 documentation for H5Sget_select_npoints.

source
HDF5.API.h5s_get_select_typeFunction
h5s_get_select_type(space_id::hid_t) -> H5S_sel_type

See libhdf5 documentation for H5Sget_select_type.

source
HDF5.API.h5s_get_simple_extent_dimsFunction
h5s_get_simple_extent_dims(space_id::hid_t, dims::Ptr{hsize_t}, maxdims::Ptr{hsize_t}) -> Int

See libhdf5 documentation for H5Sget_simple_extent_dims.

source
HDF5.API.h5s_get_simple_extent_ndimsFunction
h5s_get_simple_extent_ndims(space_id::hid_t) -> Int

See libhdf5 documentation for H5Sget_simple_extent_ndims.

source
HDF5.API.h5s_get_simple_extent_typeFunction
h5s_get_simple_extent_type(space_id::hid_t) -> H5S_class_t

See libhdf5 documentation for H5Sget_simple_extent_type.

source
HDF5.API.h5s_is_regular_hyperslabFunction
h5s_is_regular_hyperslab(space_id::hid_t) -> Bool

See libhdf5 documentation for H5Sis_regular_hyperslab.

source
HDF5.API.h5s_is_simpleFunction
h5s_is_simple(space_id::hid_t) -> Bool

See libhdf5 documentation for H5Sis_simple.

source
HDF5.API.h5s_modify_selectFunction
h5s_modify_select(space_id::hid_t, op::H5S_seloper_t, space2_id::hid_t)

See libhdf5 documentation for H5Smodify_select.

source
HDF5.API.h5s_offset_simpleFunction
h5s_offset_simple(space_id::hid_t, offset::Ptr{hssize_t})

See libhdf5 documentation for H5Soffset_simple.

source
HDF5.API.h5s_select_adjustFunction
h5s_select_adjust(space_id::hid_t, offset::Ptr{hssize_t})

See libhdf5 documentation for H5Sselect_adjust.

source
HDF5.API.h5s_select_allFunction
h5s_select_all(space_id::hid_t)

See libhdf5 documentation for H5Sselect_all.

source
HDF5.API.h5s_select_copyFunction
h5s_select_copy(dst::hid_t, src::hid_t)

See libhdf5 documentation for H5Sselect_copy.

source
HDF5.API.h5s_select_elementsFunction
h5s_select_elements(space_id::hid_t, op::H5S_seloper_t, num_elem::Csize_t, coord::Ptr{hsize_t})

See libhdf5 documentation for H5Sselect_elements.

source
HDF5.API.h5s_select_hyperslabFunction
h5s_select_hyperslab(dspace_id::hid_t, seloper::H5S_seloper_t, start::Ptr{hsize_t}, stride::Ptr{hsize_t}, count::Ptr{hsize_t}, block::Ptr{hsize_t})

See libhdf5 documentation for H5Sselect_hyperslab.

source
HDF5.API.h5s_select_intersect_blockFunction
h5s_select_intersect_block(space_id::hid_t, starts::Ptr{hsize_t}, ends::Ptr{hsize_t}) -> Bool

See libhdf5 documentation for H5Sselect_intersect_block.

source
HDF5.API.h5s_select_shape_sameFunction
h5s_select_shape_same(space1_id::hid_t, space2_id::hid_t) -> Bool

See libhdf5 documentation for H5Sselect_shape_same.

source
HDF5.API.h5s_select_validFunction
h5s_select_valid(spaceid::hid_t) -> Bool

See libhdf5 documentation for H5Sselect_valid.

source
HDF5.API.h5s_set_extent_noneFunction
h5s_set_extent_none(space_id::hid_t)

See libhdf5 documentation for H5Sset_extent_none.

source
HDF5.API.h5s_set_extent_simpleFunction
h5s_set_extent_simple(dspace_id::hid_t, rank::Cint, current_size::Ptr{hsize_t}, maximum_size::Ptr{hsize_t})

See libhdf5 documentation for H5Sset_extent_simple.

source

H5T — Datatype Interface

HDF5.API.h5t_array_createFunction
h5t_array_create(basetype_id::hid_t, ndims::Cuint, sz::Ptr{hsize_t}) -> hid_t

See libhdf5 documentation for H5Tarray_create2.

source
HDF5.API.h5t_closeFunction
h5t_close(dtype_id::hid_t)

See libhdf5 documentation for H5Tclose.

source
HDF5.API.h5t_commitFunction
h5t_commit(loc_id::hid_t, name::Cstring, dtype_id::hid_t, lcpl_id::hid_t, tcpl_id::hid_t, tapl_id::hid_t)

See libhdf5 documentation for H5Tcommit2.

source
HDF5.API.h5t_committedFunction
h5t_committed(dtype_id::hid_t) -> Bool

See libhdf5 documentation for H5Tcommitted.

source
HDF5.API.h5t_copyFunction
h5t_copy(dtype_id::hid_t) -> hid_t

See libhdf5 documentation for H5Tcopy.

source
HDF5.API.h5t_createFunction
h5t_create(class_id::Cint, sz::Csize_t) -> hid_t

See libhdf5 documentation for H5Tcreate.

source
HDF5.API.h5t_enum_insertFunction
h5t_enum_insert(dtype_id::hid_t, name::Cstring, value::Ptr{Cvoid})

See libhdf5 documentation for H5Tenum_insert.

source
HDF5.API.h5t_equalFunction
h5t_equal(dtype_id1::hid_t, dtype_id2::hid_t) -> Bool

See libhdf5 documentation for H5Tequal.

source
HDF5.API.h5t_get_array_dimsFunction
h5t_get_array_dims(dtype_id::hid_t, dims::Ptr{hsize_t}) -> Int

See libhdf5 documentation for H5Tget_array_dims2.

source
HDF5.API.h5t_get_array_ndimsFunction
h5t_get_array_ndims(dtype_id::hid_t) -> Int

See libhdf5 documentation for H5Tget_array_ndims.

source
HDF5.API.h5t_get_classFunction
h5t_get_class(dtype_id::hid_t) -> Int

See libhdf5 documentation for H5Tget_class.

source
HDF5.API.h5t_get_csetFunction
h5t_get_cset(dtype_id::hid_t) -> Int

See libhdf5 documentation for H5Tget_cset.

source
HDF5.API.h5t_get_ebiasFunction
h5t_get_ebias(dtype_id::hid_t) -> Csize_t

See libhdf5 documentation for H5Tget_ebias.

source
HDF5.API.h5t_get_fieldsFunction
h5t_get_fields(dtype_id::hid_t, spos::Ref{Csize_t}, epos::Ref{Csize_t}, esize::Ref{Csize_t}, mpos::Ref{Csize_t}, msize::Ref{Csize_t})

See libhdf5 documentation for H5Tget_fields.

source
HDF5.API.h5t_get_member_classFunction
h5t_get_member_class(dtype_id::hid_t, index::Cuint) -> Int

See libhdf5 documentation for H5Tget_member_class.

source
HDF5.API.h5t_get_member_indexFunction
h5t_get_member_index(dtype_id::hid_t, membername::Cstring) -> Int

See libhdf5 documentation for H5Tget_member_index.

source
HDF5.API.h5t_get_member_nameFunction
h5t_get_member_name(type_id::hid_t, index::Cuint) -> String

See libhdf5 documentation for H5Oopen.

source
HDF5.API.h5t_get_member_offsetFunction
h5t_get_member_offset(dtype_id::hid_t, index::Cuint) -> Csize_t

See libhdf5 documentation for H5Tget_member_offset.

source
HDF5.API.h5t_get_member_typeFunction
h5t_get_member_type(dtype_id::hid_t, index::Cuint) -> hid_t

See libhdf5 documentation for H5Tget_member_type.

source
HDF5.API.h5t_get_native_typeFunction
h5t_get_native_type(dtype_id::hid_t, direction::Cint) -> hid_t

See libhdf5 documentation for H5Tget_native_type.

source
HDF5.API.h5t_get_nmembersFunction
h5t_get_nmembers(dtype_id::hid_t) -> Int

See libhdf5 documentation for H5Tget_nmembers.

source
HDF5.API.h5t_get_offsetFunction
h5t_get_offset(dtype_id::hid_t) -> Int

See libhdf5 documentation for H5Tget_offset.

source
HDF5.API.h5t_get_orderFunction
h5t_get_order(dtype_id::hid_t) -> Int

See libhdf5 documentation for H5Tget_order.

source
HDF5.API.h5t_get_precisionFunction
h5t_get_precision(dtype_id::hid_t) -> Csize_t

See libhdf5 documentation for H5Tget_precision.

source
HDF5.API.h5t_get_signFunction
h5t_get_sign(dtype_id::hid_t) -> Int

See libhdf5 documentation for H5Tget_sign.

source
HDF5.API.h5t_get_sizeFunction
h5t_get_size(dtype_id::hid_t) -> Csize_t

See libhdf5 documentation for H5Tget_size.

source
HDF5.API.h5t_get_strpadFunction
h5t_get_strpad(dtype_id::hid_t) -> Int

See libhdf5 documentation for H5Tget_strpad.

source
HDF5.API.h5t_get_superFunction
h5t_get_super(dtype_id::hid_t) -> hid_t

See libhdf5 documentation for H5Tget_super.

source
HDF5.API.h5t_get_tagFunction
h5t_get_tag(type_id::hid_t) -> String

See libhdf5 documentation for H5Oopen.

source
HDF5.API.h5t_insertFunction
h5t_insert(dtype_id::hid_t, fieldname::Cstring, offset::Csize_t, field_id::hid_t)

See libhdf5 documentation for H5Tinsert.

source
HDF5.API.h5t_is_variable_strFunction
h5t_is_variable_str(type_id::hid_t) -> Bool

See libhdf5 documentation for H5Tis_variable_str.

source
HDF5.API.h5t_lockFunction
h5t_lock(type_id::hid_t)

See libhdf5 documentation for H5Tlock.

source
HDF5.API.h5t_openFunction
h5t_open(loc_id::hid_t, name::Cstring, tapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Topen2.

source
HDF5.API.h5t_set_csetFunction
h5t_set_cset(dtype_id::hid_t, cset::Cint)

See libhdf5 documentation for H5Tset_cset.

source
HDF5.API.h5t_set_ebiasFunction
h5t_set_ebias(dtype_id::hid_t, ebias::Csize_t)

See libhdf5 documentation for H5Tset_ebias.

source
HDF5.API.h5t_set_fieldsFunction
h5t_set_fields(dtype_id::hid_t, spos::Csize_t, epos::Csize_t, esize::Csize_t, mpos::Csize_t, msize::Csize_t)

See libhdf5 documentation for H5Tset_fields.

source
HDF5.API.h5t_set_offsetFunction
h5t_set_offset(dtype_id::hid_t, offset::Csize_t)

See libhdf5 documentation for H5Tset_offset.

source
HDF5.API.h5t_set_orderFunction
h5t_set_order(dtype_id::hid_t, order::Cint)

See libhdf5 documentation for H5Tset_order.

source
HDF5.API.h5t_set_precisionFunction
h5t_set_precision(dtype_id::hid_t, sz::Csize_t)

See libhdf5 documentation for H5Tset_precision.

source
HDF5.API.h5t_set_sizeFunction
h5t_set_size(dtype_id::hid_t, sz::Csize_t)

See libhdf5 documentation for H5Tset_size.

source
HDF5.API.h5t_set_strpadFunction
h5t_set_strpad(dtype_id::hid_t, sz::Cint)

See libhdf5 documentation for H5Tset_strpad.

source
HDF5.API.h5t_set_tagFunction
h5t_set_tag(dtype_id::hid_t, tag::Cstring)

See libhdf5 documentation for H5Tset_tag.

source
HDF5.API.h5t_vlen_createFunction
h5t_vlen_create(base_type_id::hid_t) -> hid_t

See libhdf5 documentation for H5Tvlen_create.

source

H5Z — Filter Interface

HDF5.API.h5z_filter_availFunction
h5z_filter_avail(id::H5Z_filter_t) -> Bool

See libhdf5 documentation for H5Zfilter_avail.

source
HDF5.API.h5z_get_filter_infoFunction
h5z_get_filter_info(filter::H5Z_filter_t, filter_config_flags::Ptr{Cuint})

See libhdf5 documentation for H5Zget_filter_info.

source
HDF5.API.h5z_registerFunction
h5z_register(filter_class::Ref{H5Z_class_t})

See libhdf5 documentation for H5Zregister.

source
HDF5.API.h5z_unregisterFunction
h5z_unregister(id::H5Z_filter_t)

See libhdf5 documentation for H5Zunregister.

source

H5FD — File Drivers

HDF5.API.h5fd_core_initFunction
h5fd_core_init() -> hid_t

This function is exposed in libhdf5 as the macro H5FD_CORE. See libhdf5 documentation for H5Pget_driver.

source
HDF5.API.h5fd_family_initFunction
h5fd_family_init() -> hid_t

This function is exposed in libhdf5 as the macro H5FD_FAMILY. See libhdf5 documentation for H5Pget_driver.

source
HDF5.API.h5fd_log_initFunction
h5fd_log_init() -> hid_t

This function is exposed in libhdf5 as the macro H5FD_LOG. See libhdf5 documentation for H5Pget_driver.

source
HDF5.API.h5fd_mpio_initFunction
h5fd_mpio_init() -> hid_t

This function is exposed in libhdf5 as the macro H5FD_MPIO. See libhdf5 documentation for H5Pget_driver.

source
HDF5.API.h5fd_multi_initFunction
h5fd_multi_init() -> hid_t

This function is exposed in libhdf5 as the macro H5FD_MULTI. See libhdf5 documentation for H5Pget_driver.

source
HDF5.API.h5fd_sec2_initFunction
h5fd_sec2_init() -> hid_t

This function is exposed in libhdf5 as the macro H5FD_SEC2. See libhdf5 documentation for H5Pget_driver.

source
HDF5.API.h5fd_stdio_initFunction
h5fd_stdio_init() -> hid_t

This function is exposed in libhdf5 as the macro H5FD_STDIO. See libhdf5 documentation for H5Pget_driver.

source

H5DO — Optimized Functions Interface

HDF5.API.h5do_appendFunction
h5do_append(dset_id::hid_t, dxpl_id::hid_t, index::Cuint, num_elem::hsize_t, memtype::hid_t, buffer::Ptr{Cvoid})

See libhdf5 documentation for H5DOappend.

source
HDF5.API.h5do_write_chunkFunction
h5do_write_chunk(dset_id::hid_t, dxpl_id::hid_t, filter_mask::UInt32, offset::Ptr{hsize_t}, bufsize::Csize_t, buf::Ptr{Cvoid})

See libhdf5 documentation for H5DOwrite_chunk.

source

H5DS — Dimension Scale Interface

HDF5.API.h5ds_attach_scaleFunction
h5ds_attach_scale(did::hid_t, dsid::hid_t, idx::Cuint)

See libhdf5 documentation for H5DSattach_scale.

source
HDF5.API.h5ds_detach_scaleFunction
h5ds_detach_scale(did::hid_t, dsid::hid_t, idx::Cuint)

See libhdf5 documentation for H5DSdetach_scale.

source
HDF5.API.h5ds_get_labelFunction
h5ds_get_label(did::hid_t, idx::Cuint, label::Ptr{UInt8}, size::hsize_t)

See libhdf5 documentation for H5DSget_label.

source
HDF5.API.h5ds_get_num_scalesFunction
h5ds_get_num_scales(did::hid_t, idx::Cuint) -> Int

See libhdf5 documentation for H5DSget_num_scales.

source
HDF5.API.h5ds_get_scale_nameFunction
h5ds_get_scale_name(did::hid_t, name::Ptr{UInt8}, size::Csize_t) -> Cssize_t

See libhdf5 documentation for H5DSget_scale_name.

source
HDF5.API.h5ds_is_attachedFunction
h5ds_is_attached(did::hid_t, dsid::hid_t, idx::Cuint) -> Bool

See libhdf5 documentation for H5DSis_attached.

source
HDF5.API.h5ds_is_scaleFunction
h5ds_is_scale(did::hid_t) -> Bool

See libhdf5 documentation for H5DSis_scale.

source
HDF5.API.h5ds_set_labelFunction
h5ds_set_label(did::hid_t, idx::Cuint, label::Ref{UInt8})

See libhdf5 documentation for H5DSset_label.

source
HDF5.API.h5ds_set_scaleFunction
h5ds_set_scale(dsid::hid_t, dimname::Cstring)

See libhdf5 documentation for H5DSset_scale.

source

H5LT — Lite Interface

HDF5.API.h5lt_dtype_to_textFunction
h5lt_dtype_to_text(datatype::hid_t, str::Ptr{UInt8}, lang_type::Cint, len::Ref{Csize_t})

See libhdf5 documentation for H5LTdtype_to_text.

source

H5TB — Table Interface

HDF5.API.h5tb_append_recordsFunction
h5tb_append_records(loc_id::hid_t, dset_name::Cstring, nrecords::hsize_t, type_size::Csize_t, field_offset::Ptr{Csize_t}, field_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBappend_records.

source
HDF5.API.h5tb_get_field_infoFunction
h5tb_get_field_info(loc_id::hid_t, table_name::Cstring, field_names::Ptr{Ptr{UInt8}}, field_sizes::Ptr{Csize_t}, field_offsets::Ptr{Csize_t}, type_size::Ptr{Csize_t})

See libhdf5 documentation for H5TBget_field_info.

source
HDF5.API.h5tb_get_table_infoFunction
h5tb_get_table_info(loc_id::hid_t, table_name::Cstring, nfields::Ptr{hsize_t}, nrecords::Ptr{hsize_t})

See libhdf5 documentation for H5TBget_table_info.

source
HDF5.API.h5tb_make_tableFunction
h5tb_make_table(table_title::Cstring, loc_id::hid_t, dset_name::Cstring, nfields::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_names::Ptr{Cstring}, field_offset::Ptr{Csize_t}, field_types::Ptr{hid_t}, chunk_size::hsize_t, fill_data::Ptr{Cvoid}, compress::Cint, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBmake_table.

source
HDF5.API.h5tb_read_recordsFunction
h5tb_read_records(loc_id::hid_t, table_name::Cstring, start::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_offsets::Ptr{Csize_t}, dst_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBread_records.

source
HDF5.API.h5tb_read_tableFunction
h5tb_read_table(loc_id::hid_t, table_name::Cstring, dst_size::Csize_t, dst_offset::Ptr{Csize_t}, dst_sizes::Ptr{Csize_t}, dst_buf::Ptr{Cvoid})

See libhdf5 documentation for H5TBread_table.

source
HDF5.API.h5tb_write_recordsFunction
h5tb_write_records(loc_id::hid_t, table_name::Cstring, start::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_offsets::Ptr{Csize_t}, field_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBwrite_records.

source
diff --git a/dev/example2.h5 b/dev/example2.h5 index 35344ab4a..70584fcf6 100644 Binary files a/dev/example2.h5 and b/dev/example2.h5 differ diff --git a/dev/index.html b/dev/index.html index c00184301..b81625265 100644 --- a/dev/index.html +++ b/dev/index.html @@ -15,15 +15,15 @@ [HDF5] libhdf5 = "/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5.so" -libhdf5_hl = "/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5_hl.so"

If you want to switch to another HDF5 library or the library moved, you can call the set_preferences! commands again (or manually edit LocalPreferences.toml) to set the new paths. Using the default implementation provided by HDF5_jll can be done by simply manually deleting the LocalPreferences.toml file.

Opening and closing files

"Plain" (i.e., with no extra formatting conventions) HDF5 files are created and/or opened with the h5open command:

fid = h5open(filename, mode)

The mode can be any one of the following:

modeMeaning
"r"read-only
"r+"read-write, preserving any existing contents
"cw"read-write, create file if not existing, preserve existing contents
"w"read-write, destroying any existing contents (if any)

For example

julia> using HDF5
julia> fname = tempname(); # temporary file
julia> fid = h5open(fname, "w")🗂️ HDF5.File: (read-write) /tmp/jl_FYJat69KDA

This produces an object of type HDF5File, a subtype of the abstract type DataFile. This file will have no elements (groups, datasets, or attributes) that are not explicitly created by the user.

When you're finished with a file, you should close it:

close(fid)

Closing a file also closes any other open objects (e.g., datasets, groups) in that file. In general, you need to close an HDF5 file to "release" it for use by other applications.

Creating a group or dataset

Groups can be created via the function create_group

julia> create_group(fid, "mygroup")📂 HDF5.Group: /mygroup (file: /tmp/jl_FYJat69KDA)

We can write the "mydataset" by indexing into fid. This also happens to write data to the dataset.

julia> fid["mydataset"] = rand()0.3914494900698513

Alternatively, we can call create_dataset, which does not write data to the dataset. It merely creates the dataset.

julia> create_dataset(fid, "myvector", Int, (10,))🔢 HDF5.Dataset: /myvector (file: /tmp/jl_FYJat69KDA xfer_mode: 0)

Creating a dataset within a group is as simple as indexing into the group with the name of the dataset or calling create_dataset with the group as the first argument.

julia> g = fid["mygroup"]📂 HDF5.Group: /mygroup (file: /tmp/jl_FYJat69KDA)
julia> g["mydataset"] = "Hello World!""Hello World!"
julia> create_dataset(g, "myvector", Int, (10,))🔢 HDF5.Dataset: /mygroup/myvector (file: /tmp/jl_FYJat69KDA xfer_mode: 0)

The do syntax is also supported. The file, group, and dataset handles will automatically be closed after the do block terminates.

julia> h5open("example2.h5", "w") do fid
+libhdf5_hl = "/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5_hl.so"

If you want to switch to another HDF5 library or the library moved, you can call the set_preferences! commands again (or manually edit LocalPreferences.toml) to set the new paths. Using the default implementation provided by HDF5_jll can be done by simply manually deleting the LocalPreferences.toml file.

Opening and closing files

"Plain" (i.e., with no extra formatting conventions) HDF5 files are created and/or opened with the h5open command:

fid = h5open(filename, mode)

The mode can be any one of the following:

modeMeaning
"r"read-only
"r+"read-write, preserving any existing contents
"cw"read-write, create file if not existing, preserve existing contents
"w"read-write, destroying any existing contents (if any)

For example

julia> using HDF5
julia> fname = tempname(); # temporary file
julia> fid = h5open(fname, "w")🗂️ HDF5.File: (read-write) /tmp/jl_XaNQd0LIjI

This produces an object of type HDF5File, a subtype of the abstract type DataFile. This file will have no elements (groups, datasets, or attributes) that are not explicitly created by the user.

When you're finished with a file, you should close it:

close(fid)

Closing a file also closes any other open objects (e.g., datasets, groups) in that file. In general, you need to close an HDF5 file to "release" it for use by other applications.

Creating a group or dataset

Groups can be created via the function create_group

julia> create_group(fid, "mygroup")📂 HDF5.Group: /mygroup (file: /tmp/jl_XaNQd0LIjI)

We can write the "mydataset" by indexing into fid. This also happens to write data to the dataset.

julia> fid["mydataset"] = rand()0.28430310153482763

Alternatively, we can call create_dataset, which does not write data to the dataset. It merely creates the dataset.

julia> create_dataset(fid, "myvector", Int, (10,))🔢 HDF5.Dataset: /myvector (file: /tmp/jl_XaNQd0LIjI xfer_mode: 0)

Creating a dataset within a group is as simple as indexing into the group with the name of the dataset or calling create_dataset with the group as the first argument.

julia> g = fid["mygroup"]📂 HDF5.Group: /mygroup (file: /tmp/jl_XaNQd0LIjI)
julia> g["mydataset"] = "Hello World!""Hello World!"
julia> create_dataset(g, "myvector", Int, (10,))🔢 HDF5.Dataset: /mygroup/myvector (file: /tmp/jl_XaNQd0LIjI xfer_mode: 0)

The do syntax is also supported. The file, group, and dataset handles will automatically be closed after the do block terminates.

julia> h5open("example2.h5", "w") do fid
            g = create_group(fid, "mygroup")
            dset = create_dataset(g, "myvector", Float64, (10,))
            write(dset,rand(10))
-       end

Opening and closing objects

If you have a file object fid, and this has a group or dataset called "mygroup" at the top level of a file, you can open it in the following way:

julia> obj = fid["mygroup"]📂 HDF5.Group: /mygroup (file: /tmp/jl_FYJat69KDA)
+       end

Opening and closing objects

If you have a file object fid, and this has a group or dataset called "mygroup" at the top level of a file, you can open it in the following way:

julia> obj = fid["mygroup"]📂 HDF5.Group: /mygroup (file: /tmp/jl_XaNQd0LIjI)
 ├─ 🔢 mydataset
-└─ 🔢 myvector

This does not read any data or attributes associated with the object, it's simply a handle for further manipulations. For example:

julia> g = fid["mygroup"]📂 HDF5.Group: /mygroup (file: /tmp/jl_FYJat69KDA)
+└─ 🔢 myvector

This does not read any data or attributes associated with the object, it's simply a handle for further manipulations. For example:

julia> g = fid["mygroup"]📂 HDF5.Group: /mygroup (file: /tmp/jl_XaNQd0LIjI)
 ├─ 🔢 mydataset
-└─ 🔢 myvector
julia> dset = g["mydataset"]🔢 HDF5.Dataset: /mygroup/mydataset (file: /tmp/jl_FYJat69KDA xfer_mode: 0)

or simply

julia> dset = fid["mygroup/mydataset"]🔢 HDF5.Dataset: /mygroup/mydataset (file: /tmp/jl_FYJat69KDA xfer_mode: 0)

When you're done with an object, you can close it using close(obj). If you forget to do this, it will be closed for you anyway when the file is closed, or if obj goes out of scope and gets garbage collected.

Reading and writing data

Suppose you have a group g which contains a dataset with path "mydataset", and that you've also opened this dataset as dset = g["mydataset"]. You can read information in this dataset in any of the following ways:

A = read(dset)
+└─ 🔢 myvector
julia> dset = g["mydataset"]🔢 HDF5.Dataset: /mygroup/mydataset (file: /tmp/jl_XaNQd0LIjI xfer_mode: 0)

or simply

julia> dset = fid["mygroup/mydataset"]🔢 HDF5.Dataset: /mygroup/mydataset (file: /tmp/jl_XaNQd0LIjI xfer_mode: 0)

When you're done with an object, you can close it using close(obj). If you forget to do this, it will be closed for you anyway when the file is closed, or if obj goes out of scope and gets garbage collected.

Reading and writing data

Suppose you have a group g which contains a dataset with path "mydataset", and that you've also opened this dataset as dset = g["mydataset"]. You can read information in this dataset in any of the following ways:

A = read(dset)
 A = read(g, "mydataset")
 Asub = dset[2:3, 1:3]

The last syntax reads just a subset of the data array (assuming that dset is an array of sufficient size). libhdf5 has internal mechanisms for slicing arrays, and consequently if you need only a small piece of a large array, it can be faster to read just what you need rather than reading the entire array and discarding most of it.

Datasets can be created with either

g["mydataset"] = rand(3,5)
 write(g, "mydataset", rand(3,5))

One can use the high level interface load and save from FileIO, where an optional OrderedDict can be passed (track_order inferred). Note that using track_order=true or passing an OrderedDict is a promise that the read file has been created with the appropriate ordering flags.

julia> using OrderedCollections, FileIO
@@ -83,4 +83,4 @@
 HDF5.set_extent_dims(b, (10000,))
 b[1:10000] = collect(1:10000)

when dimensions are reduced, the truncated data is lost. A maximum dimension of -1 is often referred to as unlimited dimensions, though it is limited by the maximum size of an unsigned integer.

You can copy data from one file to another:

copy_object(source, data_name, target, name)
 copy_object(source[data_name], target, name)

Finally, it's possible to delete objects:

delete_object(parent, name)   # for groups, datasets, and datatypes
-delete_attribute(parent, name)   # for attributes

Low-level routines

Many of the most commonly-used libhdf5 functions have been wrapped in a submodule API. The library follows a consistent convention: for example, libhdf5's H5Adelete is wrapped with a Julia function called h5a_delete. The arguments are exactly as specified in the HDF5 reference manual. Note that the functions in the API submodule are not exported, so unless you import them specifically, you need to preface them with HDF5.API to use them: for example, HDF5.API.h5a_delete.

HDF5 is a large library, and the low-level wrap is not complete. However, many of the most-commonly used functions are wrapped, and in general wrapping a new function takes only a single line of code. Users who need additional functionality are encouraged to contribute it.

Note that Julia's HDF5 directly uses the "2" interfaces, e.g., H5Dcreate2, so you need to have version 1.8 of the HDF5 library or later.

Language interoperability with row- and column-major order arrays

There are two main methods for storing multidimensional arrays in linear storage row-major order and column-major order. Julia, like Fortran and MATLAB, stores multidimensional arrays in column-major order, while other languages, including C and Python (NumPy), use row-major order. Therefore when reading an array in Julia from row-major order language the dimensions may be inverted.

To read a multidimensional array into the original shape from an HDF5 file written by Python (numpy and h5py) or C/C++/Objective-C, simply reverse the dimensions. For example, one may add the following line after reading the dataset dset:

dset = permutedims(dset, reverse(1:ndims(dset)))

Note that some languages or libraries use both methods, so please check the datset's description for details. For example, NumPy arrays are row-major by default, but NumPy can use either row-major or column-major ordered arrays.

Credits

+delete_attribute(parent, name) # for attributes

Low-level routines

Many of the most commonly-used libhdf5 functions have been wrapped in a submodule API. The library follows a consistent convention: for example, libhdf5's H5Adelete is wrapped with a Julia function called h5a_delete. The arguments are exactly as specified in the HDF5 reference manual. Note that the functions in the API submodule are not exported, so unless you import them specifically, you need to preface them with HDF5.API to use them: for example, HDF5.API.h5a_delete.

HDF5 is a large library, and the low-level wrap is not complete. However, many of the most-commonly used functions are wrapped, and in general wrapping a new function takes only a single line of code. Users who need additional functionality are encouraged to contribute it.

Note that Julia's HDF5 directly uses the "2" interfaces, e.g., H5Dcreate2, so you need to have version 1.8 of the HDF5 library or later.

Language interoperability with row- and column-major order arrays

There are two main methods for storing multidimensional arrays in linear storage row-major order and column-major order. Julia, like Fortran and MATLAB, stores multidimensional arrays in column-major order, while other languages, including C and Python (NumPy), use row-major order. Therefore when reading an array in Julia from row-major order language the dimensions may be inverted.

To read a multidimensional array into the original shape from an HDF5 file written by Python (numpy and h5py) or C/C++/Objective-C, simply reverse the dimensions. For example, one may add the following line after reading the dataset dset:

dset = permutedims(dset, reverse(1:ndims(dset)))

Note that some languages or libraries use both methods, so please check the datset's description for details. For example, NumPy arrays are row-major by default, but NumPy can use either row-major or column-major ordered arrays.

Credits

diff --git a/dev/interface/attributes/index.html b/dev/interface/attributes/index.html index d13abfcc2..664a54638 100644 --- a/dev/interface/attributes/index.html +++ b/dev/interface/attributes/index.html @@ -2,6 +2,6 @@ Attributes · HDF5.jl

Attributes

Dictionary interface

HDF5.attrsFunction
attrs(object::Union{File,Group,Dataset,Datatype})

The attributes dictionary of object. Returns an AttributeDict, a Dict-like object for accessing the attributes of object.

attrs(object)["name"] = value  # create/overwrite an attribute
 attr = attrs(object)["name"]   # read an attribute
 delete!(attrs(object), "name") # delete an attribute
-keys(attrs(object))            # list the attribute names
source
HDF5.attributesFunction
attributes(object::Union{File,Object})

The attributes of a file or object: this returns an Attributes object, which is Dict-like object for accessing the attributes of object: getindex will return an Attribute object, and setindex! will call write_attribute.

source

Mid-level Interface

HDF5.create_attributeFunction
create_attribute(parent::Union{File,Object}, name::AbstractString, dtype::Datatype, space::Dataspace)
-create_attribute(parent::Union{File,Object}, name::AbstractString, data)

Create a new Attribute object named name on the object parent, either by specifying the Datatype and Dataspace of the attribute, or by providing the data. Note that no data will be written: use write_attribute to write the data.

source
HDF5.read_attributeFunction
read_attribute(parent::Union{File,Group,Dataset,Datatype}, name::AbstractString)

Read the value of the named attribute on the parent object.

Example

julia> HDF5.read_attribute(g, "time")
-2.45
source
HDF5.rename_attributeFunction
rename_attribute(parent::Union{File,Object}, oldname::AbstractString, newname::AbstractString)

Rename the Attribute of the object parent named oldname to newname.

source

Convenience interface

HDF5.h5readattrFunction
h5readattr(filename, name::AbstractString, data::Dict)

Read the attributes of the object at name in the HDF5 file filename, returning a Dict.

source
HDF5.h5writeattrFunction
h5writeattr(filename, name::AbstractString, data::Dict)

Write data as attributes to the object at name in the HDF5 file filename.

source
+keys(attrs(object)) # list the attribute namessource
HDF5.attributesFunction
attributes(object::Union{File,Object})

The attributes of a file or object: this returns an Attributes object, which is Dict-like object for accessing the attributes of object: getindex will return an Attribute object, and setindex! will call write_attribute.

source

Mid-level Interface

HDF5.AttributeType
HDF5.Attribute

A HDF5 attribute: this is a piece of metadata attached to an HDF5 Group or Dataset. It acts like a Dataset, in that it has a defined datatype and dataspace, and can read and write data to it.

See also

source
HDF5.open_attributeFunction
open_attribute(parent::Union{File,Group,Dataset,Datatype}, name::AbstractString)

Open the Attribute named name on the object parent.

source
HDF5.create_attributeFunction
create_attribute(parent::Union{File,Object}, name::AbstractString, dtype::Datatype, space::Dataspace)
+create_attribute(parent::Union{File,Object}, name::AbstractString, data)

Create a new Attribute object named name on the object parent, either by specifying the Datatype and Dataspace of the attribute, or by providing the data. Note that no data will be written: use write_attribute to write the data.

source
HDF5.read_attributeFunction
read_attribute(parent::Union{File,Group,Dataset,Datatype}, name::AbstractString)

Read the value of the named attribute on the parent object.

Example

julia> HDF5.read_attribute(g, "time")
+2.45
source
HDF5.write_attributeFunction
write_attribute(parent::Union{File,Object}, name::AbstractString, data)

Write data as an Attribute named name on the object parent.

source
HDF5.delete_attributeFunction
delete_attribute(parent::Union{File,Object}, name::AbstractString)

Delete the Attribute named name on the object parent.

source
HDF5.rename_attributeFunction
rename_attribute(parent::Union{File,Object}, oldname::AbstractString, newname::AbstractString)

Rename the Attribute of the object parent named oldname to newname.

source

Convenience interface

HDF5.h5readattrFunction
h5readattr(filename, name::AbstractString, data::Dict)

Read the attributes of the object at name in the HDF5 file filename, returning a Dict.

source
HDF5.h5writeattrFunction
h5writeattr(filename, name::AbstractString, data::Dict)

Write data as attributes to the object at name in the HDF5 file filename.

source
HDF5.num_attrsFunction
num_attrs()

Retrieve the number of attributes from an object.

See API.h5o_get_info.

source
diff --git a/dev/interface/configuration/index.html b/dev/interface/configuration/index.html index 83a0b1c3e..dbb54361d 100644 --- a/dev/interface/configuration/index.html +++ b/dev/interface/configuration/index.html @@ -1,2 +1,2 @@ -Configuration · HDF5.jl

Configuration

HDF5.has_ros3Function
has_ros3()

Returns true if the HDF5 libraries were compiled with ros3 support

source

Display

HDF5.SHOW_TREE_ICONSConstant
SHOW_TREE_ICONS = Ref{Bool}(true)

Configurable option to control whether emoji icons (true) or a plain-text annotation (false) is used to indicate the object type by show_tree.

source

Internals

HDF5.get_context_propertyFunction
get_context_property(name::Symbol)

Internal API

Retrieve a property list from the task local context, defaulting to HDF5.CONTEXT if task_local_storage()[:hdf5_context] does not exist.

source
HDF5.HDF5ContextType
HDF5Context

Internal API

An HDF5Context is a collection of HDF5 property lists. It is meant to be used as a Task local mechanism to store state and change the default property lists for new objects.

Use the function get_context_property(name::Symbol) to access a property list within the local context.

The context in task_local_storage()[:hdf5_context] will be checked first. A common global HDF5Context is stored in the constant HDF5.CONTEXT and serves as the default context if the current task does not have a :hdf5_context.

Fields

  • attribute_access
  • attribute_create
  • dataset_access
  • dataset_create
  • dataset_tranfer
  • datatype_access
  • datatype_create
  • file_access
  • file_create
  • file_mount
  • group_access
  • group_create
  • link_access
  • link_create
  • object_copy
  • object_create
  • string_create
source
+Configuration · HDF5.jl

Configuration

HDF5.has_ros3Function
has_ros3()

Returns true if the HDF5 libraries were compiled with ros3 support

source

Display

HDF5.SHOW_TREE_ICONSConstant
SHOW_TREE_ICONS = Ref{Bool}(true)

Configurable option to control whether emoji icons (true) or a plain-text annotation (false) is used to indicate the object type by show_tree.

source

Internals

HDF5.get_context_propertyFunction
get_context_property(name::Symbol)

Internal API

Retrieve a property list from the task local context, defaulting to HDF5.CONTEXT if task_local_storage()[:hdf5_context] does not exist.

source
HDF5.HDF5ContextType
HDF5Context

Internal API

An HDF5Context is a collection of HDF5 property lists. It is meant to be used as a Task local mechanism to store state and change the default property lists for new objects.

Use the function get_context_property(name::Symbol) to access a property list within the local context.

The context in task_local_storage()[:hdf5_context] will be checked first. A common global HDF5Context is stored in the constant HDF5.CONTEXT and serves as the default context if the current task does not have a :hdf5_context.

Fields

  • attribute_access
  • attribute_create
  • dataset_access
  • dataset_create
  • dataset_tranfer
  • datatype_access
  • datatype_create
  • file_access
  • file_create
  • file_mount
  • group_access
  • group_create
  • link_access
  • link_create
  • object_copy
  • object_create
  • string_create
source
diff --git a/dev/interface/dataset/index.html b/dev/interface/dataset/index.html index b3d0efd63..fbcb1a37a 100644 --- a/dev/interface/dataset/index.html +++ b/dev/interface/dataset/index.html @@ -1,2 +1,2 @@ -Dataset · HDF5.jl

Dataset

Many dataset operations are available through the indexing interface, which is aliased to the functional interface. Below describes the functional interface.

HDF5.DatasetType
HDF5.Dataset

A mutable wrapper for a HDF5 Dataset HDF5.API.hid_t.

source
HDF5.create_datasetFunction
create_dataset(parent, path, datatype, dataspace; properties...)

Arguments

  • parent - File or Group
  • path - String describing the path of the dataset within the HDF5 file or nothing to create an anonymous dataset
  • datatype - Datatype or Type or the dataset
  • dataspace - Dataspace or Dims of the dataset
  • properties - keyword name-value pairs set properties of the dataset

Keywords

There are many keyword properties that can be set. Below are a few select keywords.

  • chunk - Dims describing the size of a chunk. Needed to apply filters.
  • filters - AbstractVector{<: Filters.Filter} describing the order of the filters to apply to the data. See Filters
  • external - Tuple{AbstractString, Intger, Integer} (filepath, offset, filesize) External dataset file location, data offset, and file size. See API.h5p_set_external.

Additionally, the initial create, transfer, and access properties can be provided as a keyword:

source
Base.copyto!Function
copyto!(output_buffer::AbstractArray{T}, obj::Union{DatasetOrAttribute}) where T

Copy [part of] a HDF5 dataset or attribute to a preallocated output buffer. The output buffer must be convertible to a pointer and have a contiguous layout.

source
Base.similarFunction
similar(obj::DatasetOrAttribute, [::Type{T}], [dims::Integer...]; normalize = true)

Return a Array{T} or Matrix{UInt8} to that can contain [part of] the dataset.

The normalize keyword will normalize the buffer for string and array datatypes.

source
HDF5.create_external_datasetFunction
create_external_dataset(parent, name, filepath, dtype, dspace, offset = 0)

Create an external dataset with data in an external file.

  • parent - File or Group
  • name - Name of the Dataset
  • filepath - File path to where the data is tored
  • dtype - Datatype, Type, or value where datatype is applicable
  • offset - Offset, in bytes, from the beginning of the file to the location in the file where the data starts.

See also API.h5p_set_external to link to multiple segments.

source
HDF5.get_datasetsFunction
get_datasets(file::HDF5.File) -> datasets::Vector{HDF5.Dataset}

Get all the datasets in an hdf5 file without loading the data.

source
HDF5.write_datasetFunction
write_dataset(parent::Union{File,Group}, name::Union{AbstractString,Nothing}, data; pv...)

Create and write a dataset with data. Keywords are forwarded to create_dataset. Providing nothing as the name will create an anonymous dataset.

See also create_dataset

source
HDF5.read_datasetFunction
read_dataset(parent::Union{File,Group}, name::AbstractString)

Read a dataset with named name from parent. This will typically return an array. The dataset will be opened, read, and closed.

See also HDF5.open_dataset, Base.read

source

Chunks

HDF5.do_read_chunkFunction
do_read_chunk(dataset::Dataset, offset)

Read a raw chunk at a given offset. offset is a 1-based list of rank ndims(dataset) and must fall on a chunk boundary.

source
do_read_chunk(dataset::Dataset, index::Integer)

Read a raw chunk at a given index. index is 1-based and consecutive up to the number of chunks.

source
HDF5.do_write_chunkFunction
do_write_chunk(dataset::Dataset, offset, chunk_bytes::AbstractArray, filter_mask=0)

Write a raw chunk at a given offset. chunk_bytes is an AbstractArray that can be converted to a pointer, Ptr{Cvoid}. offset is a 1-based list of rank ndims(dataset) and must fall on a chunk boundary.

source
do_write_chunk(dataset::Dataset, index, chunk_bytes::AbstractArray, filter_mask=0)

Write a raw chunk at a given linear index. chunk_bytes is an AbstractArray that can be converted to a pointer, Ptr{Cvoid}. index is 1-based and consecutive up to the number of chunks.

source
HDF5.get_chunk_indexFunction
HDF5.get_chunk_index(dataset_id, offset)

Get 0-based index of chunk from 0-based offset returned in Julia's column-major order. For a 1-based API, see HDF5.ChunkStorage.

source
HDF5.get_chunk_info_allFunction
HDF5.get_chunk_info_all(dataset, [dxpl])

Obtain information on all the chunks in a dataset. Returns a Vector{ChunkInfo{N}}. The fields of ChunkInfo{N} are

  • offset - NTuple{N, Int} indicating the offset of the chunk in terms of elements, reversed to F-order
  • filter_mask - Cuint, 32-bit flags indicating whether filters have been applied to the cunk
  • addr - haddr_t, byte-offset of the chunk in the file
  • size - hsize_t, size of the chunk in bytes
source
HDF5.get_chunk_lengthFunction
HDF5.get_chunk_length(dataset_id)

Retrieves the chunk size in bytes. Equivalent to API.h5d_get_chunk_info(dataset_id, index)[:size].

source
HDF5.get_chunk_offsetFunction
HDF5.get_chunk_offset(dataset_id, index)

Get 0-based offset of chunk from 0-based index. The offsets are returned in Julia's column-major order rather than hdf5 row-major order. For a 1-based API, see HDF5.ChunkStorage.

source
HDF5.get_num_chunksFunction
HDF5.get_num_chunks(dataset_id)

Returns the number of chunks in a dataset. Equivalent to API.h5d_get_num_chunks(dataset_id, HDF5.H5S_ALL).

source
HDF5.read_chunkFunction
HDF5.read_chunk(dataset_id, offset, [buf]; dxpl_id = HDF5.API.H5P_DEFAULT, filters = Ref{UInt32}())

Helper method to read chunks via 0-based offsets in a Tuple.

Argument buf is optional and defaults to a Vector{UInt8} of length determined by HDF5.get_chunk_length. Argument dxpl_id can be supplied a keyword and defaults to HDF5.API.H5P_DEFAULT. Argument filters can be retrieved by supplying a Ref{UInt32} value via a keyword argument.

This method returns Vector{UInt8}.

source
HDF5.read_chunk(dataset_id, index::Integer, [buf]; dxpl_id = HDF5.API.H5P_DEFAULT, filters = Ref{UInt32}())

Helper method to read chunks via 0-based integer index.

Argument buf is optional and defaults to a Vector{UInt8} of length determined by HDF5.API.h5d_get_chunk_info. Argument dxpl_id can be supplied a keyword and defaults to HDF5.API.H5P_DEFAULT. Argument filters can be retrieved by supplying a Ref{UInt32} value via a keyword argument.

This method returns Vector{UInt8}.

source
HDF5.write_chunkFunction
HDF5.write_chunk(dataset_id, offset, buf::AbstractArray; dxpl_id = HDF5.API.H5P_DEFAULT, filter_mask = 0)

Helper method to write chunks via 0-based offsets offset as a Tuple.

source
HDF5.write_chunk(dataset_id, index::Integer, buf::AbstractArray; dxpl_id = API.H5P_DEFAULT, filter_mask = 0)

Helper method to write chunks via 0-based integer index.

source

Private Implementation

These functions select private implementations of the public high-level API. They should be used for diagnostic purposes only.

+Dataset · HDF5.jl

Dataset

Many dataset operations are available through the indexing interface, which is aliased to the functional interface. Below describes the functional interface.

HDF5.DatasetType
HDF5.Dataset

A mutable wrapper for a HDF5 Dataset HDF5.API.hid_t.

source
HDF5.create_datasetFunction
create_dataset(parent, path, datatype, dataspace; properties...)

Arguments

  • parent - File or Group
  • path - String describing the path of the dataset within the HDF5 file or nothing to create an anonymous dataset
  • datatype - Datatype or Type or the dataset
  • dataspace - Dataspace or Dims of the dataset
  • properties - keyword name-value pairs set properties of the dataset

Keywords

There are many keyword properties that can be set. Below are a few select keywords.

  • chunk - Dims describing the size of a chunk. Needed to apply filters.
  • filters - AbstractVector{<: Filters.Filter} describing the order of the filters to apply to the data. See Filters
  • external - Tuple{AbstractString, Intger, Integer} (filepath, offset, filesize) External dataset file location, data offset, and file size. See API.h5p_set_external.

Additionally, the initial create, transfer, and access properties can be provided as a keyword:

source
Base.copyto!Function
copyto!(output_buffer::AbstractArray{T}, obj::Union{DatasetOrAttribute}) where T

Copy [part of] a HDF5 dataset or attribute to a preallocated output buffer. The output buffer must be convertible to a pointer and have a contiguous layout.

source
Base.similarFunction
similar(obj::DatasetOrAttribute, [::Type{T}], [dims::Integer...]; normalize = true)

Return a Array{T} or Matrix{UInt8} to that can contain [part of] the dataset.

The normalize keyword will normalize the buffer for string and array datatypes.

source
HDF5.create_external_datasetFunction
create_external_dataset(parent, name, filepath, dtype, dspace, offset = 0)

Create an external dataset with data in an external file.

  • parent - File or Group
  • name - Name of the Dataset
  • filepath - File path to where the data is tored
  • dtype - Datatype, Type, or value where datatype is applicable
  • offset - Offset, in bytes, from the beginning of the file to the location in the file where the data starts.

See also API.h5p_set_external to link to multiple segments.

source
HDF5.get_datasetsFunction
get_datasets(file::HDF5.File) -> datasets::Vector{HDF5.Dataset}

Get all the datasets in an hdf5 file without loading the data.

source
HDF5.write_datasetFunction
write_dataset(parent::Union{File,Group}, name::Union{AbstractString,Nothing}, data; pv...)

Create and write a dataset with data. Keywords are forwarded to create_dataset. Providing nothing as the name will create an anonymous dataset.

See also create_dataset

source
HDF5.read_datasetFunction
read_dataset(parent::Union{File,Group}, name::AbstractString)

Read a dataset with named name from parent. This will typically return an array. The dataset will be opened, read, and closed.

See also HDF5.open_dataset, Base.read

source

Chunks

HDF5.do_read_chunkFunction
do_read_chunk(dataset::Dataset, offset)

Read a raw chunk at a given offset. offset is a 1-based list of rank ndims(dataset) and must fall on a chunk boundary.

source
do_read_chunk(dataset::Dataset, index::Integer)

Read a raw chunk at a given index. index is 1-based and consecutive up to the number of chunks.

source
HDF5.do_write_chunkFunction
do_write_chunk(dataset::Dataset, offset, chunk_bytes::AbstractArray, filter_mask=0)

Write a raw chunk at a given offset. chunk_bytes is an AbstractArray that can be converted to a pointer, Ptr{Cvoid}. offset is a 1-based list of rank ndims(dataset) and must fall on a chunk boundary.

source
do_write_chunk(dataset::Dataset, index, chunk_bytes::AbstractArray, filter_mask=0)

Write a raw chunk at a given linear index. chunk_bytes is an AbstractArray that can be converted to a pointer, Ptr{Cvoid}. index is 1-based and consecutive up to the number of chunks.

source
HDF5.get_chunk_indexFunction
HDF5.get_chunk_index(dataset_id, offset)

Get 0-based index of chunk from 0-based offset returned in Julia's column-major order. For a 1-based API, see HDF5.ChunkStorage.

source
HDF5.get_chunk_info_allFunction
HDF5.get_chunk_info_all(dataset, [dxpl])

Obtain information on all the chunks in a dataset. Returns a Vector{ChunkInfo{N}}. The fields of ChunkInfo{N} are

  • offset - NTuple{N, Int} indicating the offset of the chunk in terms of elements, reversed to F-order
  • filter_mask - Cuint, 32-bit flags indicating whether filters have been applied to the cunk
  • addr - haddr_t, byte-offset of the chunk in the file
  • size - hsize_t, size of the chunk in bytes
source
HDF5.get_chunk_lengthFunction
HDF5.get_chunk_length(dataset_id)

Retrieves the chunk size in bytes. Equivalent to API.h5d_get_chunk_info(dataset_id, index)[:size].

source
HDF5.get_chunk_offsetFunction
HDF5.get_chunk_offset(dataset_id, index)

Get 0-based offset of chunk from 0-based index. The offsets are returned in Julia's column-major order rather than hdf5 row-major order. For a 1-based API, see HDF5.ChunkStorage.

source
HDF5.get_num_chunksFunction
HDF5.get_num_chunks(dataset_id)

Returns the number of chunks in a dataset. Equivalent to API.h5d_get_num_chunks(dataset_id, HDF5.H5S_ALL).

source
HDF5.read_chunkFunction
HDF5.read_chunk(dataset_id, offset, [buf]; dxpl_id = HDF5.API.H5P_DEFAULT, filters = Ref{UInt32}())

Helper method to read chunks via 0-based offsets in a Tuple.

Argument buf is optional and defaults to a Vector{UInt8} of length determined by HDF5.get_chunk_length. Argument dxpl_id can be supplied a keyword and defaults to HDF5.API.H5P_DEFAULT. Argument filters can be retrieved by supplying a Ref{UInt32} value via a keyword argument.

This method returns Vector{UInt8}.

source
HDF5.read_chunk(dataset_id, index::Integer, [buf]; dxpl_id = HDF5.API.H5P_DEFAULT, filters = Ref{UInt32}())

Helper method to read chunks via 0-based integer index.

Argument buf is optional and defaults to a Vector{UInt8} of length determined by HDF5.API.h5d_get_chunk_info. Argument dxpl_id can be supplied a keyword and defaults to HDF5.API.H5P_DEFAULT. Argument filters can be retrieved by supplying a Ref{UInt32} value via a keyword argument.

This method returns Vector{UInt8}.

source
HDF5.write_chunkFunction
HDF5.write_chunk(dataset_id, offset, buf::AbstractArray; dxpl_id = HDF5.API.H5P_DEFAULT, filter_mask = 0)

Helper method to write chunks via 0-based offsets offset as a Tuple.

source
HDF5.write_chunk(dataset_id, index::Integer, buf::AbstractArray; dxpl_id = API.H5P_DEFAULT, filter_mask = 0)

Helper method to write chunks via 0-based integer index.

source

Private Implementation

These functions select private implementations of the public high-level API. They should be used for diagnostic purposes only.

diff --git a/dev/interface/dataspaces/index.html b/dev/interface/dataspaces/index.html index 7193af62e..5b5699e29 100644 --- a/dev/interface/dataspaces/index.html +++ b/dev/interface/dataspaces/index.html @@ -1,7 +1,7 @@ -Dataspaces · HDF5.jl

Dataspaces

HDF5.DataspaceType
HDF5.Dataspace

A dataspace defines the size and the shape of a dataset or an attribute.

A dataspace is typically constructed by calling dataspace.

The following functions have methods defined for Dataspace objects

  • ==
  • ndims
  • size
  • length
  • isempty
  • isnull
source
HDF5.dataspaceFunction
dataspace(obj::Union{Attribute, Dataset, Dataspace})

The Dataspace of obj.

source
dataspace(data)

The default Dataspace used for representing a Julia object data:

  • strings or numbers: a scalar Dataspace
  • arrays: a simple Dataspace
  • struct types: a scalar Dataspace
  • nothing or an EmptyArray: a null dataspace
source
dataspace(dims::Tuple; max_dims::Tuple=dims)
-dataspace(dims::Tuple, max_dims::Tuple)

Construct a simple Dataspace for the given dimensions dims. The maximum dimensions maxdims specifies the maximum possible size: -1 can be used to indicate unlimited dimensions.

source
HDF5.isnullFunction
isnull(dspace::Union{HDF5.Dataspace, HDF5.Dataset, HDF5.Attribute})

Determines whether the given object has no size (consistent with the API.H5S_NULL dataspace).

Examples

julia> HDF5.isnull(dataspace(HDF5.EmptyArray{Float64}()))
+Dataspaces · HDF5.jl

Dataspaces

HDF5.DataspaceType
HDF5.Dataspace

A dataspace defines the size and the shape of a dataset or an attribute.

A dataspace is typically constructed by calling dataspace.

The following functions have methods defined for Dataspace objects

  • ==
  • ndims
  • size
  • length
  • isempty
  • isnull
source
HDF5.dataspaceFunction
dataspace(obj::Union{Attribute, Dataset, Dataspace})

The Dataspace of obj.

source
dataspace(data)

The default Dataspace used for representing a Julia object data:

  • strings or numbers: a scalar Dataspace
  • arrays: a simple Dataspace
  • struct types: a scalar Dataspace
  • nothing or an EmptyArray: a null dataspace
source
dataspace(dims::Tuple; max_dims::Tuple=dims)
+dataspace(dims::Tuple, max_dims::Tuple)

Construct a simple Dataspace for the given dimensions dims. The maximum dimensions maxdims specifies the maximum possible size: -1 can be used to indicate unlimited dimensions.

source
HDF5.isnullFunction
isnull(dspace::Union{HDF5.Dataspace, HDF5.Dataset, HDF5.Attribute})

Determines whether the given object has no size (consistent with the API.H5S_NULL dataspace).

Examples

julia> HDF5.isnull(dataspace(HDF5.EmptyArray{Float64}()))
 true
 
 julia> HDF5.isnull(dataspace((0,)))
-false
source
HDF5.get_extent_dimsFunction
HDF5.get_extent_dims(obj::Union{HDF5.Dataspace, HDF5.Dataset, HDF5.Attribute}) -> dims, maxdims

Get the array dimensions from a dataspace, dataset, or attribute and return a tuple of dims and maxdims.

source
HDF5.set_extent_dimsFunction
HDF5.set_extent_dims(dset::HDF5.Dataset, new_dims::Dims)

Change the current dimensions of a dataset to new_dims, limited by max_dims = get_extent_dims(dset)[2]. Reduction is possible and leads to loss of truncated data.

source
HDF5.set_extent_dims(dspace::HDF5.Dataspace, new_dims::Dims, max_dims::Union{Dims,Nothing} = nothing)

Change the dimensions of a dataspace dspace to new_dims, optionally with the maximum possible dimensions max_dims different from the active size new_dims. If not given, max_dims is set equal to new_dims.

source

Hyperslab

HDF5.BlockRangeType
HDF5.BlockRange(;start::Integer, stride::Integer=1, count::Integer=1, block::Integer=1)

A BlockRange represents a selection along a single dimension of a HDF5 hyperslab. It is similar to a Julia range object, with some extra features for selecting multiple contiguous blocks.

  • start: the index of the first element in the first block (1-based).
  • stride: the step between the first element of each block (must be >0)
  • count: the number of blocks (can be -1 for an unlimited number of blocks)
  • block: the number of elements in each block.
HDF5.BlockRange(obj::Union{Integer, OrdinalRange})

Convert obj to a BlockRange object.

External links

source
HDF5.select_hyperslab!Function
HDF5.select_hyperslab!(dspace::Dataspace, [op, ], idxs::Tuple)

Selects a hyperslab region of the dspace. idxs should be a tuple of integers, ranges or BlockRange objects.

  • op determines how the new selection is to be combined with the already selected dataspace:
    • :select (default): replace the existing selection with the new selection.
    • :or: adds the new selection to the existing selection. Aliases: |, , union.
    • :and: retains only the overlapping portions of the new and existing selection. Aliases: &, , intersect.
    • :xor: retains only the elements that are members of the new selection or the existing selection, excluding elements that are members of both selections. Aliases: , xor
    • :notb: retains only elements of the existing selection that are not in the new selection. Alias: setdiff.
    • :nota: retains only elements of the new selection that are not in the existing selection.
source
+false
source
HDF5.get_extent_dimsFunction
HDF5.get_extent_dims(obj::Union{HDF5.Dataspace, HDF5.Dataset, HDF5.Attribute}) -> dims, maxdims

Get the array dimensions from a dataspace, dataset, or attribute and return a tuple of dims and maxdims.

source
HDF5.set_extent_dimsFunction
HDF5.set_extent_dims(dset::HDF5.Dataset, new_dims::Dims)

Change the current dimensions of a dataset to new_dims, limited by max_dims = get_extent_dims(dset)[2]. Reduction is possible and leads to loss of truncated data.

source
HDF5.set_extent_dims(dspace::HDF5.Dataspace, new_dims::Dims, max_dims::Union{Dims,Nothing} = nothing)

Change the dimensions of a dataspace dspace to new_dims, optionally with the maximum possible dimensions max_dims different from the active size new_dims. If not given, max_dims is set equal to new_dims.

source

Hyperslab

HDF5.BlockRangeType
HDF5.BlockRange(;start::Integer, stride::Integer=1, count::Integer=1, block::Integer=1)

A BlockRange represents a selection along a single dimension of a HDF5 hyperslab. It is similar to a Julia range object, with some extra features for selecting multiple contiguous blocks.

  • start: the index of the first element in the first block (1-based).
  • stride: the step between the first element of each block (must be >0)
  • count: the number of blocks (can be -1 for an unlimited number of blocks)
  • block: the number of elements in each block.
HDF5.BlockRange(obj::Union{Integer, OrdinalRange})

Convert obj to a BlockRange object.

External links

source
HDF5.select_hyperslab!Function
HDF5.select_hyperslab!(dspace::Dataspace, [op, ], idxs::Tuple)

Selects a hyperslab region of the dspace. idxs should be a tuple of integers, ranges or BlockRange objects.

  • op determines how the new selection is to be combined with the already selected dataspace:
    • :select (default): replace the existing selection with the new selection.
    • :or: adds the new selection to the existing selection. Aliases: |, , union.
    • :and: retains only the overlapping portions of the new and existing selection. Aliases: &, , intersect.
    • :xor: retains only the elements that are members of the new selection or the existing selection, excluding elements that are members of both selections. Aliases: , xor
    • :notb: retains only elements of the existing selection that are not in the new selection. Alias: setdiff.
    • :nota: retains only elements of the new selection that are not in the existing selection.
source
diff --git a/dev/interface/datatype/index.html b/dev/interface/datatype/index.html index 03d8c16cf..abb3f4f7f 100644 --- a/dev/interface/datatype/index.html +++ b/dev/interface/datatype/index.html @@ -1,2 +1,2 @@ -Datatypes · HDF5.jl

Datatypes

HDF5.DatatypeType
HDF5.Datatype(id, toclose = true)

Wrapper for a HDF5 datatype id. If toclose is true, the finalizer will close the datatype.

source
+Datatypes · HDF5.jl

Datatypes

HDF5.DatatypeType
HDF5.Datatype(id, toclose = true)

Wrapper for a HDF5 datatype id. If toclose is true, the finalizer will close the datatype.

source
diff --git a/dev/interface/files/index.html b/dev/interface/files/index.html index 4b5ccc589..f6f4a8535 100644 --- a/dev/interface/files/index.html +++ b/dev/interface/files/index.html @@ -1,7 +1,7 @@ -Files · HDF5.jl

Files

HDF5.h5openFunction
h5open(filename::AbstractString, mode::AbstractString="r"; swmr=false, pv...)

Open or create an HDF5 file where mode is one of:

  • "r" read only
  • "r+" read and write
  • "cw" read and write, create file if not existing, do not truncate
  • "w" read and write, create a new file (destroys any existing contents)

Pass swmr=true to enable (Single Writer Multiple Reader) SWMR write access for "w" and "r+", or SWMR read access for "r".

Properties can be specified as keywords for FileAccessProperties and FileCreateProperties.

Also the keywords fapl and fcpl can be used to provide default instances of these property lists. Property lists passed in via keyword will be closed. This is useful to set properties not currently defined by HDF5.jl.

Note that h5open uses fclose_degree = :strong by default, but this can be overriden by the fapl keyword.

source
h5open(f::Function, args...; pv...)

Apply the function f to the result of h5open(args...; kwargs...) and close the resulting HDF5.File upon completion. For example with a do block:

h5open("foo.h5","w") do h5
+Files · HDF5.jl

Files

HDF5.h5openFunction
h5open(filename::AbstractString, mode::AbstractString="r"; swmr=false, pv...)

Open or create an HDF5 file where mode is one of:

  • "r" read only
  • "r+" read and write
  • "cw" read and write, create file if not existing, do not truncate
  • "w" read and write, create a new file (destroys any existing contents)

Pass swmr=true to enable (Single Writer Multiple Reader) SWMR write access for "w" and "r+", or SWMR read access for "r".

Properties can be specified as keywords for FileAccessProperties and FileCreateProperties.

Also the keywords fapl and fcpl can be used to provide default instances of these property lists. Property lists passed in via keyword will be closed. This is useful to set properties not currently defined by HDF5.jl.

Note that h5open uses fclose_degree = :strong by default, but this can be overriden by the fapl keyword.

source
h5open(f::Function, args...; pv...)

Apply the function f to the result of h5open(args...; kwargs...) and close the resulting HDF5.File upon completion. For example with a do block:

h5open("foo.h5","w") do h5
     h5["foo"]=[1,2,3]
-end
source
h5open(file_image::Vector{UInt8}, mode::AbstractString="r";
+end
source
h5open(file_image::Vector{UInt8}, mode::AbstractString="r";
     name=nothing,
     fapl=FileAccessProperties(),
     increment=8192,
@@ -9,6 +9,6 @@
     write_tracking=false,
     page_size=524288,
     pv...
-)

Open a file image contained in a Vector{UInt8}. See API.h5p_set_file_image.

Unlike Drivers.Core the default here is not to use a backing store.

source
HDF5.ishdf5Function
ishdf5(name::AbstractString)

Returns true if the file specified by name is in the HDF5 format, and false otherwise.

source
Base.isopenFunction

isopen(obj::HDF5.File)

Returns true if obj has not been closed, false if it has been closed.

source
Base.readFunction
read(parent::H5DataStore)
-read(parent::H5DataStore, names...)

Read a list of variables, read(parent, "A", "B", "x", ...). If no variables are specified, read every variable in the file.

source
read(parent::Union{HDF5.File, HDF5.Group}, name::AbstractString; pv...)
-read(parent::Union{HDF5.File, HDF5.Group}, name::AbstractString => dt::HDF5.Datatype; pv...)

Read a dataset or attribute from a HDF5 file of group identified by name. Optionally, specify the HDF5.Datatype to be read.

source
read(obj::HDF5.DatasetOrAttribute}

Read the data within a HDF5.Dataset or HDF5.Attribute.

source
+)

Open a file image contained in a Vector{UInt8}. See API.h5p_set_file_image.

Unlike Drivers.Core the default here is not to use a backing store.

source
HDF5.ishdf5Function
ishdf5(name::AbstractString)

Returns true if the file specified by name is in the HDF5 format, and false otherwise.

source
Base.isopenFunction

isopen(obj::HDF5.File)

Returns true if obj has not been closed, false if it has been closed.

source
Base.readFunction
read(parent::H5DataStore)
+read(parent::H5DataStore, names...)

Read a list of variables, read(parent, "A", "B", "x", ...). If no variables are specified, read every variable in the file.

source
read(parent::Union{HDF5.File, HDF5.Group}, name::AbstractString; pv...)
+read(parent::Union{HDF5.File, HDF5.Group}, name::AbstractString => dt::HDF5.Datatype; pv...)

Read a dataset or attribute from a HDF5 file of group identified by name. Optionally, specify the HDF5.Datatype to be read.

source
read(obj::HDF5.DatasetOrAttribute}

Read the data within a HDF5.Dataset or HDF5.Attribute.

source
diff --git a/dev/interface/filters/index.html b/dev/interface/filters/index.html index 9310ce75b..f7dcf1640 100644 --- a/dev/interface/filters/index.html +++ b/dev/interface/filters/index.html @@ -30,9 +30,9 @@ write(dsfiltdef, data) write(dsfiltshufdef, data) -close(f)

Additonal Examples

See test/filter.jl for further examples.

source

Built-in Filters

HDF5.Filters.DeflateType
Deflate(level=5)

Deflate/ZLIB lossless compression filter. level is an integer between 0 and 9, inclusive, denoting the compression level, with 0 being no compression, 9 being the highest compression (but slowest speed).

External links

source
HDF5.Filters.ShuffleType
Shuffle()

The shuffle filter de-interlaces a block of data by reordering the bytes. All the bytes from one consistent byte position of each data element are placed together in one block; all bytes from a second consistent byte position of each data element are placed together a second block; etc. For example, given three data elements of a 4-byte datatype stored as 012301230123, shuffling will re-order data as 000111222333. This can be a valuable step in an effective compression algorithm because the bytes in each byte position are often closely related to each other and putting them together can increase the compression ratio.

As implied above, the primary value of the shuffle filter lies in its coordinated use with a compression filter; it does not provide data compression when used alone. When the shuffle filter is applied to a dataset immediately prior to the use of a compression filter, the compression ratio achieved is often superior to that achieved by the use of a compression filter without the shuffle filter.

External links

source
HDF5.Filters.Fletcher32Type
Fletcher32()

The Fletcher32 checksum filter. This doesn't perform compression, but instead checks the validity of the stored data.

This should be applied after any lossy filters have been applied.

External links

source
HDF5.Filters.SzipType
Szip(coding=:nn, pixels_per_block=8)

Szip compression lossless filter. Options:

  • coding: the coding method: either :ec (entropy coding) or :nn (nearest neighbors, default)
  • pixels_per_block: The number of pixels or data elements in each data block (typically 8, 10, 16, or 32)

External links

source
HDF5.Filters.NBitType
NBit()

The N-Bit filter.

External links

source
HDF5.Filters.ScaleOffsetType
ScaleOffset(scale_type::Integer, scale_offset::Integer)

The scale-offset filter.

External links

source
HDF5.Filters.ExternalFilterType
ExternalFilter(filter_id::API.H5Z_filter_t, flags::Cuint, data::Vector{Cuint}, name::String, config::Cuint)
+close(f)

Additonal Examples

See test/filter.jl for further examples.

source

Built-in Filters

HDF5.Filters.DeflateType
Deflate(level=5)

Deflate/ZLIB lossless compression filter. level is an integer between 0 and 9, inclusive, denoting the compression level, with 0 being no compression, 9 being the highest compression (but slowest speed).

External links

source
HDF5.Filters.ShuffleType
Shuffle()

The shuffle filter de-interlaces a block of data by reordering the bytes. All the bytes from one consistent byte position of each data element are placed together in one block; all bytes from a second consistent byte position of each data element are placed together a second block; etc. For example, given three data elements of a 4-byte datatype stored as 012301230123, shuffling will re-order data as 000111222333. This can be a valuable step in an effective compression algorithm because the bytes in each byte position are often closely related to each other and putting them together can increase the compression ratio.

As implied above, the primary value of the shuffle filter lies in its coordinated use with a compression filter; it does not provide data compression when used alone. When the shuffle filter is applied to a dataset immediately prior to the use of a compression filter, the compression ratio achieved is often superior to that achieved by the use of a compression filter without the shuffle filter.

External links

source
HDF5.Filters.Fletcher32Type
Fletcher32()

The Fletcher32 checksum filter. This doesn't perform compression, but instead checks the validity of the stored data.

This should be applied after any lossy filters have been applied.

External links

source
HDF5.Filters.SzipType
Szip(coding=:nn, pixels_per_block=8)

Szip compression lossless filter. Options:

  • coding: the coding method: either :ec (entropy coding) or :nn (nearest neighbors, default)
  • pixels_per_block: The number of pixels or data elements in each data block (typically 8, 10, 16, or 32)

External links

source
HDF5.Filters.NBitType
NBit()

The N-Bit filter.

External links

source
HDF5.Filters.ScaleOffsetType
ScaleOffset(scale_type::Integer, scale_offset::Integer)

The scale-offset filter.

External links

source
HDF5.Filters.ExternalFilterType
ExternalFilter(filter_id::API.H5Z_filter_t, flags::Cuint, data::Vector{Cuint}, name::String, config::Cuint)
 ExternalFilter(filter_id, flags, data::Integer...)
-ExternalFilter(filter_id, data::AbstractVector{<:Integer} = Cuint[])

Intended to support arbitrary, unregistered, external filters. Allows the quick creation of filters using internal/proprietary filters without subtyping HDF5.Filters.Filter. Users are instead encouraged to define subtypes on HDF5.Filters.Filter.

Fields / Arguments

  • filter_id - (required) Integer filter identifer.
  • flags - (optional) bit vector describing general properties of the filter. Defaults to API.H5Z_FLAG_MANDATORY
  • data - (optional) auxillary data for the filter. See cd_values. Defaults to Cuint[]
  • name - (optional) String describing the name of the filter. Defaults to "Unknown Filter with id [filter_id]"
  • config - (optional) bit vector representing information about the filter regarding whether it is able to encode data, decode data, neither, or both. Defaults to 0.

See also:

flags bits

  • API.H5Z_FLAG_OPTIONAL
  • API.H5Z_FLAG_MANDATORY

config bits

  • API.H5Z_FILTER_CONFIG_ENCODE_ENABLED
  • API.H5Z_FILTER_CONFIG_DECODE_ENABLED
source

External Filter Packages

Several external Julia packages implement HDF5 filter plugins in Julia. As they are independent of HDF5.jl, they must be installed in order to use their plugins.

The H5Zblosc.jl, H5Zbzip2.jl, H5Zlz4.jl, and H5Zzstd.jl packages are maintained as independent subdirectory packages within the HDF5.jl repository.

H5Zblosc.jl

H5Zblosc.BloscFilterType
BloscFilter(;level=5, shuffle=true, compressor="blosclz")

The Blosc compression filter, using Blosc.jl. Options:

  • level: compression level
  • shuffle: whether to shuffle data before compressing (this option should be used instead of the Shuffle filter)
  • compressor: the compression algorithm. Call Blosc.compressors() for the available compressors.

External links

source

H5Zbzip2.jl

H5Zbzip2.Bzip2FilterType
Bzip2Filter(blockSize100k)

Apply Bzip2 compression. The filter id is 307.

External Links

source

H5Zlz4.jl

H5Zlz4.Lz4FilterType
Lz4Filter(blockSize)

Apply LZ4 compression. blockSize is the main argument. The filter id is 32004.

External Links

source

H5Zzstd.jl

H5Zzstd.ZstdFilterType
ZstdFilter(clevel)

Zstandard compression filter. clevel determines the compression level.

External Links

source

Other External Filters

Additional filters can be dynamically loaded by the HDF5 library. See External Links below for more information.

Using an ExternalFilter

ExternalFilter can be used to insert a dynamically loaded filter into the FilterPipeline in an ad-hoc fashion.

Example for bitshuffle

If we do not have a defined subtype of Filter for the bitshuffle filter we can create an ExternalFilter. From the header file or list of registered plugins, we see that the bitshuffle filter has an id of 32008.

Furthermore, the header describes two options:

  1. block_size (optional). Default is 0.
  2. compression - This can be 0 or BSHUF_H5_COMPRESS_LZ4 (2 as defined in the C header)
using HDF5.Filters
+ExternalFilter(filter_id, data::AbstractVector{<:Integer} = Cuint[])

Intended to support arbitrary, unregistered, external filters. Allows the quick creation of filters using internal/proprietary filters without subtyping HDF5.Filters.Filter. Users are instead encouraged to define subtypes on HDF5.Filters.Filter.

Fields / Arguments

See also:

flags bits

config bits

source

External Filter Packages

Several external Julia packages implement HDF5 filter plugins in Julia. As they are independent of HDF5.jl, they must be installed in order to use their plugins.

The H5Zblosc.jl, H5Zbzip2.jl, H5Zlz4.jl, and H5Zzstd.jl packages are maintained as independent subdirectory packages within the HDF5.jl repository.

H5Zblosc.jl

H5Zblosc.BloscFilterType
BloscFilter(;level=5, shuffle=true, compressor="blosclz")

The Blosc compression filter, using Blosc.jl. Options:

  • level: compression level
  • shuffle: whether to shuffle data before compressing (this option should be used instead of the Shuffle filter)
  • compressor: the compression algorithm. Call Blosc.compressors() for the available compressors.

External links

source

H5Zbzip2.jl

H5Zbzip2.Bzip2FilterType
Bzip2Filter(blockSize100k)

Apply Bzip2 compression. The filter id is 307.

External Links

source

H5Zlz4.jl

H5Zlz4.Lz4FilterType
Lz4Filter(blockSize)

Apply LZ4 compression. blockSize is the main argument. The filter id is 32004.

External Links

source

H5Zzstd.jl

H5Zzstd.ZstdFilterType
ZstdFilter(clevel)

Zstandard compression filter. clevel determines the compression level.

External Links

source

Other External Filters

Additional filters can be dynamically loaded by the HDF5 library. See External Links below for more information.

Using an ExternalFilter

ExternalFilter can be used to insert a dynamically loaded filter into the FilterPipeline in an ad-hoc fashion.

Example for bitshuffle

If we do not have a defined subtype of Filter for the bitshuffle filter we can create an ExternalFilter. From the header file or list of registered plugins, we see that the bitshuffle filter has an id of 32008.

Furthermore, the header describes two options:

  1. block_size (optional). Default is 0.
  2. compression - This can be 0 or BSHUF_H5_COMPRESS_LZ4 (2 as defined in the C header)
using HDF5.Filters
 
 bitshuf = ExternalFilter(32008, Cuint[0, 0])
 bitshuf_comp = ExternalFilter(32008, Cuint[0, 2])
@@ -70,4 +70,4 @@
         API.h5p_set_filter(p.plist, H5Z_BSHUF_ID, API.H5Z_FLAG_OPTIONAL, 2, pointer_from_objref(ref) + sizeof(Cuint)*3)
     end
     return p
-end

Because the first three elements are not provided directly via h5p_set_filter, we also needed to implement a custom Base.push! into the FilterPipeline.

Filter Interface

The filter interface is used to describe filters and obtain information on them.

HDF5.Filters.FilterType
Filter

Abstract type to describe HDF5 Filters. See the Extended Help for information on implementing a new filter.

Extended Help

Filter interface

The Filter interface is implemented upon the Filter subtype.

See API.h5z_register for details.

Required Methods to Implement

  • filterid - registered filter ID
  • filter_func - implement the actual filter

Optional Methods to Implement

  • filtername - defaults to "Unnamed Filter"
  • encoder_present - defaults to true
  • decoder_present - defaults to true
  • can_apply_func - defaults to nothing
  • set_local_func - defaults to nothing

Advanced Methods to Implement

  • can_apply_cfunc - Defaults to wrapping @cfunction around the result of can_apply_func
  • set_local_cfunc - Defaults to wrapping @cfunction around the result of set_local_func
  • filter_cfunc - Defaults to wrapping @cfunction around the result of filter_func
  • register_filter - Defaults to using the above functions to register the filter

Implement the Advanced Methods to avoid @cfunction from generating a runtime closure which may not work on all systems.

source
HDF5.Filters.FilterPipelineType
FilterPipeline(plist::DatasetCreateProperties)

The filter pipeline associated with plist. Acts like a AbstractVector{Filter}, supporting the following operations:

  • length(pipeline): the number of filters.
  • pipeline[i] to return the ith filter.
  • pipeline[FilterType] to return a filter of type FilterType
  • push!(pipline, filter) to add an extra filter to the pipeline.
  • append!(pipeline, filters) to add multiple filters to the pipeline.
  • delete!(pipeline, FilterType) to remove a filter of type FilterType from the pipeline.
  • empty!(pipeline) to remove all filters from the pipeline.
source
HDF5.Filters.UnknownFilterType
UnknownFilter

Unknown filter type. Alias for ExternalFilter (see related documentation).

source
HDF5.Filters.FILTERSConstant
FILTERS

Maps filter id to filter type.

source
HDF5.Filters.EXTERNAL_FILTER_JULIA_PACKAGESConstant
EXTERNAL_FILTER_JULIA_PACKAGES

Maps filter id to the Julia package name that contains the filter.

source
HDF5.Filters.filteridFunction
filterid(F) where {F <: Filter}

The internal filter id of a filter of type F.

source
HDF5.Filters.isavailableFunction
isavailable(filter_or_id)

Given a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter is available and false otherwise.

source
HDF5.Filters.isdecoderenabledFunction
isdecoderenabled(filter_or_id)

Given a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter can decode or decompress data.

source
HDF5.Filters.isencoderenabledFunction
isencoderenabled(filter_or_id)

Given a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter can encode or compress data.

source
HDF5.Filters.decoder_presentFunction
decoder_present(::Type{F}) where {F<:Filter}

Can the filter decode or decompress the data? Defaults to true. Returns a Bool. See API.h5z_register

source
HDF5.Filters.encoder_presentFunction
encoder_present(::Type{F}) where {F<:Filter}

Can the filter have an encode or compress the data? Defaults to true. Returns a Bool. See API.h5z_register.

source
HDF5.Filters.ensure_filters_availableFunction

Error if all filters in a filter pipeline are not available.

source
HDF5.Filters.filternameFunction
filtername(::Type{F}) where {F<:Filter}

What is the name of a filter? Defaults to "Unnamed Filter" Returns a String describing the filter. See API.h5z_register

source
HDF5.Filters.can_apply_funcFunction
can_apply_func(::Type{F}) where {F<:Filter}

Return a function indicating whether the filter can be applied or nothing if no function exists. The function signature is func(dcpl_id::API.hid_t, type_id::API.hid_t, space_id::API.hid_t). See API.h5z_register

source
HDF5.Filters.can_apply_cfuncFunction
can_apply_cfunc(::Type{F}) where {F<:Filter}

Return a C function pointer for the can apply function. By default, this will return the result of using @cfunction on the function specified by can_apply_func(F) or C_NULL if nothing.

Overriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.

source
HDF5.Filters.set_local_funcFunction
set_local_func(::Type{F}) where {F<:Filter}

Return a function that sets dataset specific parameters or nothing if no function exists. The function signature is func(dcpl_id::API.hid_t, type_id::API.hid_t, space_id::API.hid_t). See API.h5z_register.

source
HDF5.Filters.set_local_cfuncFunction
set_local_cfunc(::Type{F}) where {F<:Filter}

Return a C function pointer for the set local function. By default, this will return the result of using @cfunction on the function specified by set_local_func(F) or C_NULL if nothing.

Overriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.

source
HDF5.Filters.filter_funcFunction
filter_func(::Type{F}) where {F<:Filter}

Returns a function that performs the actual filtering.

See API.h5z_register

source
HDF5.Filters.filter_cfuncFunction
filter_cfunc(::Type{F}) where {F<:Filter}

Return a C function pointer for the filter function. By default, this will return the result of using @cfunction on the function specified by filter_func(F) or will throw an error if nothing.

Overriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.

source
HDF5.Filters.register_filterFunction
register_filter(::Type{F}) where F <: Filter

Register the filter with the HDF5 library via API.h5z_register. Also add F to the FILTERS dictionary.

source
+end

Because the first three elements are not provided directly via h5p_set_filter, we also needed to implement a custom Base.push! into the FilterPipeline.

Filter Interface

The filter interface is used to describe filters and obtain information on them.

HDF5.Filters.FilterType
Filter

Abstract type to describe HDF5 Filters. See the Extended Help for information on implementing a new filter.

Extended Help

Filter interface

The Filter interface is implemented upon the Filter subtype.

See API.h5z_register for details.

Required Methods to Implement

  • filterid - registered filter ID
  • filter_func - implement the actual filter

Optional Methods to Implement

  • filtername - defaults to "Unnamed Filter"
  • encoder_present - defaults to true
  • decoder_present - defaults to true
  • can_apply_func - defaults to nothing
  • set_local_func - defaults to nothing

Advanced Methods to Implement

  • can_apply_cfunc - Defaults to wrapping @cfunction around the result of can_apply_func
  • set_local_cfunc - Defaults to wrapping @cfunction around the result of set_local_func
  • filter_cfunc - Defaults to wrapping @cfunction around the result of filter_func
  • register_filter - Defaults to using the above functions to register the filter

Implement the Advanced Methods to avoid @cfunction from generating a runtime closure which may not work on all systems.

source
HDF5.Filters.FilterPipelineType
FilterPipeline(plist::DatasetCreateProperties)

The filter pipeline associated with plist. Acts like a AbstractVector{Filter}, supporting the following operations:

  • length(pipeline): the number of filters.
  • pipeline[i] to return the ith filter.
  • pipeline[FilterType] to return a filter of type FilterType
  • push!(pipline, filter) to add an extra filter to the pipeline.
  • append!(pipeline, filters) to add multiple filters to the pipeline.
  • delete!(pipeline, FilterType) to remove a filter of type FilterType from the pipeline.
  • empty!(pipeline) to remove all filters from the pipeline.
source
HDF5.Filters.UnknownFilterType
UnknownFilter

Unknown filter type. Alias for ExternalFilter (see related documentation).

source
HDF5.Filters.FILTERSConstant
FILTERS

Maps filter id to filter type.

source
HDF5.Filters.EXTERNAL_FILTER_JULIA_PACKAGESConstant
EXTERNAL_FILTER_JULIA_PACKAGES

Maps filter id to the Julia package name that contains the filter.

source
HDF5.Filters.filteridFunction
filterid(F) where {F <: Filter}

The internal filter id of a filter of type F.

source
HDF5.Filters.isavailableFunction
isavailable(filter_or_id)

Given a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter is available and false otherwise.

source
HDF5.Filters.isdecoderenabledFunction
isdecoderenabled(filter_or_id)

Given a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter can decode or decompress data.

source
HDF5.Filters.isencoderenabledFunction
isencoderenabled(filter_or_id)

Given a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter can encode or compress data.

source
HDF5.Filters.decoder_presentFunction
decoder_present(::Type{F}) where {F<:Filter}

Can the filter decode or decompress the data? Defaults to true. Returns a Bool. See API.h5z_register

source
HDF5.Filters.encoder_presentFunction
encoder_present(::Type{F}) where {F<:Filter}

Can the filter have an encode or compress the data? Defaults to true. Returns a Bool. See API.h5z_register.

source
HDF5.Filters.ensure_filters_availableFunction

Error if all filters in a filter pipeline are not available.

source
HDF5.Filters.filternameFunction
filtername(::Type{F}) where {F<:Filter}

What is the name of a filter? Defaults to "Unnamed Filter" Returns a String describing the filter. See API.h5z_register

source
HDF5.Filters.can_apply_funcFunction
can_apply_func(::Type{F}) where {F<:Filter}

Return a function indicating whether the filter can be applied or nothing if no function exists. The function signature is func(dcpl_id::API.hid_t, type_id::API.hid_t, space_id::API.hid_t). See API.h5z_register

source
HDF5.Filters.can_apply_cfuncFunction
can_apply_cfunc(::Type{F}) where {F<:Filter}

Return a C function pointer for the can apply function. By default, this will return the result of using @cfunction on the function specified by can_apply_func(F) or C_NULL if nothing.

Overriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.

source
HDF5.Filters.set_local_funcFunction
set_local_func(::Type{F}) where {F<:Filter}

Return a function that sets dataset specific parameters or nothing if no function exists. The function signature is func(dcpl_id::API.hid_t, type_id::API.hid_t, space_id::API.hid_t). See API.h5z_register.

source
HDF5.Filters.set_local_cfuncFunction
set_local_cfunc(::Type{F}) where {F<:Filter}

Return a C function pointer for the set local function. By default, this will return the result of using @cfunction on the function specified by set_local_func(F) or C_NULL if nothing.

Overriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.

source
HDF5.Filters.filter_funcFunction
filter_func(::Type{F}) where {F<:Filter}

Returns a function that performs the actual filtering.

See API.h5z_register

source
HDF5.Filters.filter_cfuncFunction
filter_cfunc(::Type{F}) where {F<:Filter}

Return a C function pointer for the filter function. By default, this will return the result of using @cfunction on the function specified by filter_func(F) or will throw an error if nothing.

Overriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.

source
HDF5.Filters.register_filterFunction
register_filter(::Type{F}) where F <: Filter

Register the filter with the HDF5 library via API.h5z_register. Also add F to the FILTERS dictionary.

source
diff --git a/dev/interface/groups/index.html b/dev/interface/groups/index.html index fb1b29bbc..e7167e194 100644 --- a/dev/interface/groups/index.html +++ b/dev/interface/groups/index.html @@ -1,3 +1,3 @@ -Groups · HDF5.jl

Groups

HDF5.open_groupFunction
open_group(parent::Union{File,Group}, path::AbstractString; properties...)

Open an existing Group at path under the parent object.

Optional keyword arguments include any keywords that that belong to GroupAccessProperties.

source
HDF5.create_externalFunction
create_external(source::Union{HDF5.File, HDF5.Group}, source_relpath, target_filename, target_path;
-                lcpl_id=HDF5.API.H5P_DEFAULT, lapl_id=HDF5.H5P.DEFAULT)

Create an external link such that source[source_relpath] points to target_path within the file with path target_filename.

See also

API.h5l_create_external

source
+Groups · HDF5.jl

Groups

HDF5.open_groupFunction
open_group(parent::Union{File,Group}, path::AbstractString; properties...)

Open an existing Group at path under the parent object.

Optional keyword arguments include any keywords that that belong to GroupAccessProperties.

source
HDF5.create_externalFunction
create_external(source::Union{HDF5.File, HDF5.Group}, source_relpath, target_filename, target_path;
+                lcpl_id=HDF5.API.H5P_DEFAULT, lapl_id=HDF5.H5P.DEFAULT)

Create an external link such that source[source_relpath] points to target_path within the file with path target_filename.

See also

API.h5l_create_external

source
diff --git a/dev/interface/objects/index.html b/dev/interface/objects/index.html index d796ddb7b..27b31a2c8 100644 --- a/dev/interface/objects/index.html +++ b/dev/interface/objects/index.html @@ -2,6 +2,6 @@ Objects · HDF5.jl

Objects

HDF5.copy_objectFunction
copy_object(src_parent::Union{File,Group}, src_path::AbstractString, dst_parent::Union{File,Group}, dst_path::AbstractString)

Copy data from src_parent[src_path] to dst_parent[dst_path].

Examples

f = h5open("f.h5", "r")
 g = h5open("g.h5", "cw")
 copy_object(f, "Group1", g, "GroupA")
-copy_object(f["Group1"], "data1", g, "DataSet/data_1")
source
copy_object(src_obj::Object, dst_parent::Union{File,Group}, dst_path::AbstractString)

Examples

copy_object(f["Group1"], g, "GroupA")
-copy_object(f["Group1/data1"], g, "DataSet/data_1")
source
HDF5.delete_objectFunction
delete_object(parent::Union{File,Group}, path::AbstractString)

Delete the object at parent[path].

Examples

f = h5open("f.h5", "r+")
-delete_object(f, "Group1")
source
+copy_object(f["Group1"], "data1", g, "DataSet/data_1")source
copy_object(src_obj::Object, dst_parent::Union{File,Group}, dst_path::AbstractString)

Examples

copy_object(f["Group1"], g, "GroupA")
+copy_object(f["Group1/data1"], g, "DataSet/data_1")
source
HDF5.delete_objectFunction
delete_object(parent::Union{File,Group}, path::AbstractString)

Delete the object at parent[path].

Examples

f = h5open("f.h5", "r+")
+delete_object(f, "Group1")
source
diff --git a/dev/interface/properties/index.html b/dev/interface/properties/index.html index 2d60560a1..866f36274 100644 --- a/dev/interface/properties/index.html +++ b/dev/interface/properties/index.html @@ -1,22 +1,22 @@ -Properties · HDF5.jl

Properties

HDF5 property lists are collections of name-value pairs which can be passed to other HDF5 functions to control features that are typically unimportant or whose default values are usually used. In HDF5.jl, these options are typically handled by keyword arguments to such functions, which will internally create the appropriate Properties objects, and so users will not usually be required to construct them manually.

Not all properties defined by the HDF5 library are currently available in HDF5.jl. If you require additional properties, please open an issue or pull request.

Common functions

HDF5.setproperties!Function
setproperties!(props::Properties...; kwargs...)

For each (key, value) pair in kwargs, set the corresponding properties in each Properties object in props. Returns a Dict of any pairs which didn't match properties in props.

source

Properties types

HDF5.AttributeCreatePropertiesType
AttributeCreateProperties(;kws...)
-AttributeCreateProperties(f::Function; kws...)

Properties used when creating attributes.

  • char_encoding: the character enconding, either :ascii or :utf8.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.FileAccessPropertiesType
FileAccessProperties(;kws...)
-FileAccessProperties(f::Function; kws...)

Properties used when accessing files.

  • alignment :: Tuple{Integer, Integer}: a (threshold, alignment) pair: any file object greater than or equal in size to threshold bytes will be aligned on an address which is a multiple of alignment. Default values are 1, implying no alignment.

  • driver: the file driver used to access the file. See Drivers.

  • driver_info (get only)

  • fclose_degree: file close degree property. One of:

    • :weak
    • :semi
    • :strong
    • :default
  • libver_bounds: a (low, high) pair: low sets the earliest possible format versions that the library will use when creating objects in the file; high sets the latest format versions that the library will be allowed to use when creating objects in the file. Values can be a VersionNumber for the hdf5 library, :earliest, or :latest . See H5P_SET_LIBVER_BOUNDS

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.FileCreatePropertiesType
FileCreateProperties(;kws...)
-FileCreateProperties(f::Function; kws...)

Properties used when creating a new File. Inherits from ObjectCreateProperties, with additional properties:

  • userblock :: Integer: user block size in bytes. The default user block size is 0; it may be set to any power of 2 equal to 512 or greater (512, 1024, 2048, etc.). See H5P_SET_USERBLOCK.
  • track_order :: Bool: tracks the file creation order.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.GroupCreatePropertiesType
GroupCreateProperties(;kws...)
-GroupCreateProperties(f::Function; kws...)

Properties used when creating a new Group. Inherits from ObjectCreateProperties, with additional options:

  • local_heap_size_hint :: Integer: the anticipated maximum local heap size in bytes. See H5P_SET_LOCAL_HEAP_SIZE_HINT.
  • track_order :: Bool: tracks the group creation order.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.DatasetCreatePropertiesType
DatasetCreateProperties(;kws...)
-DatasetCreateProperties(f::Function; kws...)

Properties used when creating a new Dataset. Inherits from ObjectCreateProperties, with additional properties:

  • alloc_time: the timing for the allocation of storage space for a dataset's raw data; one of:

    • :default

    • :early: allocate all space when the dataset is created

    • :incremental: Allocate space incrementally, as data is written to the dataset

    • :late: Allocate all space when data is first written to the dataset.

    See H5P_SET_ALLOC_TIME.

  • fill_time: the timing of when the dataset should be filled; one of:

    • :alloc: Fill when allocated
    • :never: Never fill
    • :ifset: Fill if a value is set
  • fill_value: the fill value for a dataset. See H5P_SET_FILL_VALUE.

  • chunk: a tuple containing the size of the chunks to store each dimension. See H5P_SET_CHUNK (note that this uses Julia's column-major ordering).

  • external: A tuple of (name,offset,size), See H5P_SET_EXTERNAL.

  • filters (only valid when layout=:chunked): a filter or vector of filters that are applied to applied to each chunk of a dataset, see Filters. When accessed, will return a Filters.FilterPipeline object that can be modified in-place.

  • layout: the type of storage used to store the raw data for a dataset. Can be one of:

    • :compact: Store raw data in the dataset object header in file. This should only be used for datasets with small amounts of raw data.

    • :contiguous: Store raw data separately from the object header in one large chunk in the file.

    • :chunked: Store raw data separately from the object header as chunks of data in separate locations in the file.

    • :virtual: Draw raw data from multiple datasets in different files. See the virtual property below.

    See H5P_SET_LAYOUT.

  • no_attrs_hint: Minimize the space for dataset metadata by hinting that no attributes will be added if set to true. Attributes can still be added but may exist elsewhere within the file. See H5P_SET_DSET_NO_ATTRS_HINT.

  • virtual: when specified, creates a virtual dataset (VDS). The argument should be a "virtuala collection of VirtualMapping objects for describing the mapping from the dataset to the source datasets. When accessed, returns a VirtualLayout object.

The following options are shortcuts for the various filters, and are set-only. They will be appended to the filter pipeline in the order in which they appear

  • blosc = true | level: set the H5Zblosc.BloscFilter compression filter; argument can be either true, or the compression level.

  • deflate = true | level: set the Filters.Deflate compression filter; argument can be either true, or the compression level.

  • fletcher32 = true: set the Filters.Fletcher32 checksum filter.

  • shuffle = true: set the Filters.Shuffle filter.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.DatasetAccessPropertiesType
DatasetAccessProperties(;kws...)
-DatasetAccessProperties(f::Function; kws...)

Properties that control access to data in external, virtual, and chunked datasets.

  • chunk_cache: Chunk cache parameters as (nslots, nbytes, w0). Default: (521, 0x100000, 0.75)
  • efile_prefix: Path prefix for reading external files. The default is the current working directory.
    • :origin: alias for raw"$ORIGIN" will make the external file relative to the HDF5 file.
  • virtual_prefix: Path prefix for reading virtual datasets.
  • virtual_printf_gap: The maximum number of missing source files and/or datasets with the printf-style names when getting the extent of an unlimited virtual dataset
  • virtual_view: Influences whether the view of the virtual dataset includes or excludes missing mapped elements
    • :first_missing: includes all data before the first missing mapped data
    • :last_available: includes all available mapped data

A function argument passed via do will be given an initialized property list that will be closed.

See Dataset Access Properties

source
HDF5.DatasetTransferPropertiesType
DatasetTransferProperties(;kws...)
-DatasetTransferProperties(f::Function; kws...)

Properties used when transferring data to/from datasets

  • dxpl_mpio: MPI transfer mode when using Drivers.MPIO file driver:
    • :independent: use independent I/O access (default),
    • :collective: use collective I/O access.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.LinkCreatePropertiesType
LinkCreateProperties(;kws...)
-LinkCreateProperties(f::Function; kws...)

Properties used when creating links.

  • char_encoding: the character enconding, either :ascii or :utf8.

  • create_intermediate_group :: Bool: if true, will create missing intermediate groups.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.ObjectCreatePropertiesType
ObjectCreateProperties(;kws...)
-ObjectCreateProperties(f::Function; kws...)

Properties used when creating a new object. Available options:

  • obj_track_times :: Bool: governs the recording of times associated with an object. If set to true, time data will be recorded. See H5P_SET_OBJ_TRACK_TIMES.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.StringCreatePropertiesType
StringCreateProperties(;kws...)
-StringCreateProperties(f::Function; kws...)

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.DatatypeCreatePropertiesType
DatatypeCreateProperties(;kws...)
-DatatypeCreateProperties(f::Function; kws...)

A function argument passed via do will be given an initialized property list that will be closed.

source

Virtual Datasets

HDF5.VirtualMappingType
VirtualMapping(
+Properties · HDF5.jl

Properties

HDF5 property lists are collections of name-value pairs which can be passed to other HDF5 functions to control features that are typically unimportant or whose default values are usually used. In HDF5.jl, these options are typically handled by keyword arguments to such functions, which will internally create the appropriate Properties objects, and so users will not usually be required to construct them manually.

Not all properties defined by the HDF5 library are currently available in HDF5.jl. If you require additional properties, please open an issue or pull request.

Common functions

HDF5.setproperties!Function
setproperties!(props::Properties...; kwargs...)

For each (key, value) pair in kwargs, set the corresponding properties in each Properties object in props. Returns a Dict of any pairs which didn't match properties in props.

source

Properties types

HDF5.AttributeCreatePropertiesType
AttributeCreateProperties(;kws...)
+AttributeCreateProperties(f::Function; kws...)

Properties used when creating attributes.

  • char_encoding: the character enconding, either :ascii or :utf8.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.FileAccessPropertiesType
FileAccessProperties(;kws...)
+FileAccessProperties(f::Function; kws...)

Properties used when accessing files.

  • alignment :: Tuple{Integer, Integer}: a (threshold, alignment) pair: any file object greater than or equal in size to threshold bytes will be aligned on an address which is a multiple of alignment. Default values are 1, implying no alignment.

  • driver: the file driver used to access the file. See Drivers.

  • driver_info (get only)

  • fclose_degree: file close degree property. One of:

    • :weak
    • :semi
    • :strong
    • :default
  • libver_bounds: a (low, high) pair: low sets the earliest possible format versions that the library will use when creating objects in the file; high sets the latest format versions that the library will be allowed to use when creating objects in the file. Values can be a VersionNumber for the hdf5 library, :earliest, or :latest . See H5P_SET_LIBVER_BOUNDS

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.FileCreatePropertiesType
FileCreateProperties(;kws...)
+FileCreateProperties(f::Function; kws...)

Properties used when creating a new File. Inherits from ObjectCreateProperties, with additional properties:

  • userblock :: Integer: user block size in bytes. The default user block size is 0; it may be set to any power of 2 equal to 512 or greater (512, 1024, 2048, etc.). See H5P_SET_USERBLOCK.
  • track_order :: Bool: tracks the file creation order.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.GroupCreatePropertiesType
GroupCreateProperties(;kws...)
+GroupCreateProperties(f::Function; kws...)

Properties used when creating a new Group. Inherits from ObjectCreateProperties, with additional options:

  • local_heap_size_hint :: Integer: the anticipated maximum local heap size in bytes. See H5P_SET_LOCAL_HEAP_SIZE_HINT.
  • track_order :: Bool: tracks the group creation order.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.DatasetCreatePropertiesType
DatasetCreateProperties(;kws...)
+DatasetCreateProperties(f::Function; kws...)

Properties used when creating a new Dataset. Inherits from ObjectCreateProperties, with additional properties:

  • alloc_time: the timing for the allocation of storage space for a dataset's raw data; one of:

    • :default

    • :early: allocate all space when the dataset is created

    • :incremental: Allocate space incrementally, as data is written to the dataset

    • :late: Allocate all space when data is first written to the dataset.

    See H5P_SET_ALLOC_TIME.

  • fill_time: the timing of when the dataset should be filled; one of:

    • :alloc: Fill when allocated
    • :never: Never fill
    • :ifset: Fill if a value is set
  • fill_value: the fill value for a dataset. See H5P_SET_FILL_VALUE.

  • chunk: a tuple containing the size of the chunks to store each dimension. See H5P_SET_CHUNK (note that this uses Julia's column-major ordering).

  • external: A tuple of (name,offset,size), See H5P_SET_EXTERNAL.

  • filters (only valid when layout=:chunked): a filter or vector of filters that are applied to applied to each chunk of a dataset, see Filters. When accessed, will return a Filters.FilterPipeline object that can be modified in-place.

  • layout: the type of storage used to store the raw data for a dataset. Can be one of:

    • :compact: Store raw data in the dataset object header in file. This should only be used for datasets with small amounts of raw data.

    • :contiguous: Store raw data separately from the object header in one large chunk in the file.

    • :chunked: Store raw data separately from the object header as chunks of data in separate locations in the file.

    • :virtual: Draw raw data from multiple datasets in different files. See the virtual property below.

    See H5P_SET_LAYOUT.

  • no_attrs_hint: Minimize the space for dataset metadata by hinting that no attributes will be added if set to true. Attributes can still be added but may exist elsewhere within the file. See H5P_SET_DSET_NO_ATTRS_HINT.

  • virtual: when specified, creates a virtual dataset (VDS). The argument should be a "virtuala collection of VirtualMapping objects for describing the mapping from the dataset to the source datasets. When accessed, returns a VirtualLayout object.

The following options are shortcuts for the various filters, and are set-only. They will be appended to the filter pipeline in the order in which they appear

  • blosc = true | level: set the H5Zblosc.BloscFilter compression filter; argument can be either true, or the compression level.

  • deflate = true | level: set the Filters.Deflate compression filter; argument can be either true, or the compression level.

  • fletcher32 = true: set the Filters.Fletcher32 checksum filter.

  • shuffle = true: set the Filters.Shuffle filter.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.DatasetAccessPropertiesType
DatasetAccessProperties(;kws...)
+DatasetAccessProperties(f::Function; kws...)

Properties that control access to data in external, virtual, and chunked datasets.

  • chunk_cache: Chunk cache parameters as (nslots, nbytes, w0). Default: (521, 0x100000, 0.75)
  • efile_prefix: Path prefix for reading external files. The default is the current working directory.
    • :origin: alias for raw"$ORIGIN" will make the external file relative to the HDF5 file.
  • virtual_prefix: Path prefix for reading virtual datasets.
  • virtual_printf_gap: The maximum number of missing source files and/or datasets with the printf-style names when getting the extent of an unlimited virtual dataset
  • virtual_view: Influences whether the view of the virtual dataset includes or excludes missing mapped elements
    • :first_missing: includes all data before the first missing mapped data
    • :last_available: includes all available mapped data

A function argument passed via do will be given an initialized property list that will be closed.

See Dataset Access Properties

source
HDF5.DatasetTransferPropertiesType
DatasetTransferProperties(;kws...)
+DatasetTransferProperties(f::Function; kws...)

Properties used when transferring data to/from datasets

  • dxpl_mpio: MPI transfer mode when using Drivers.MPIO file driver:
    • :independent: use independent I/O access (default),
    • :collective: use collective I/O access.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.LinkCreatePropertiesType
LinkCreateProperties(;kws...)
+LinkCreateProperties(f::Function; kws...)

Properties used when creating links.

  • char_encoding: the character enconding, either :ascii or :utf8.

  • create_intermediate_group :: Bool: if true, will create missing intermediate groups.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.ObjectCreatePropertiesType
ObjectCreateProperties(;kws...)
+ObjectCreateProperties(f::Function; kws...)

Properties used when creating a new object. Available options:

  • obj_track_times :: Bool: governs the recording of times associated with an object. If set to true, time data will be recorded. See H5P_SET_OBJ_TRACK_TIMES.

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.StringCreatePropertiesType
StringCreateProperties(;kws...)
+StringCreateProperties(f::Function; kws...)

A function argument passed via do will be given an initialized property list that will be closed.

source
HDF5.DatatypeCreatePropertiesType
DatatypeCreateProperties(;kws...)
+DatatypeCreateProperties(f::Function; kws...)

A function argument passed via do will be given an initialized property list that will be closed.

source

Virtual Datasets

HDF5.VirtualMappingType
VirtualMapping(
     vspace::Dataspace,
     srcfile::AbstractString,
     srcdset::AbstractString,
     srcspace::Dataspace
-)

Specify a map of elements of the virtual dataset (VDS) described by vspace to the elements of the source dataset described by srcspace. The source dataset is identified by the name of the file where it is located, srcfile, and the name of the dataset, srcdset.

Both srcfile and srcdset support "printf"-style formats with %b being replaced by the block count of the selection.

For more details on how source file resolution works, see H5P_SET_VIRTUAL.

source
HDF5.VirtualLayoutType
VirtualLayout(dcpl::DatasetCreateProperties)

The collection of VirtualMappings associated with dcpl. This is an AbstractVector{VirtualMapping}, supporting length, getindex and push!.

source

Drivers

File drivers determine how the HDF5 is accessed. These can be set as the driver property in FileAccessProperties.

HDF5.Drivers.CoreType
Core([increment::Csize_t, backing_store::Cuint, [write_tracking::Cuint, page_size::Csize_t]])
-Core(; increment::Csize_t = 8192, backing_store::Cuint = true, write_tracking::Cuint = false, page_size::Csize_t = 524288)

Arguments

  • increment: specifies the increment by which allocated memory is to be increased each time more memory is required. (default: 8192)
  • backing_store: Boolean flag indicating whether to write the file contents to disk when the file is closed. (default: false)
  • write_tracking: Boolean flag indicating whether write tracking is enabled. (default: false)
  • page_size: Size, in bytes, of write aggregation pages. (default: 524288)
source
HDF5.Drivers.POSIXType
POSIX()

Also referred to as SEC2, this driver uses POSIX file-system functions like read and write to perform I/O to a single, permanent file on local disk with no system buffering. This driver is POSIX-compliant and is the default file driver for all systems.

source
HDF5.Drivers.ROS3Type
ROS3()
+)

Specify a map of elements of the virtual dataset (VDS) described by vspace to the elements of the source dataset described by srcspace. The source dataset is identified by the name of the file where it is located, srcfile, and the name of the dataset, srcdset.

Both srcfile and srcdset support "printf"-style formats with %b being replaced by the block count of the selection.

For more details on how source file resolution works, see H5P_SET_VIRTUAL.

source
HDF5.VirtualLayoutType
VirtualLayout(dcpl::DatasetCreateProperties)

The collection of VirtualMappings associated with dcpl. This is an AbstractVector{VirtualMapping}, supporting length, getindex and push!.

source

Drivers

File drivers determine how the HDF5 is accessed. These can be set as the driver property in FileAccessProperties.

HDF5.Drivers.CoreType
Core([increment::Csize_t, backing_store::Cuint, [write_tracking::Cuint, page_size::Csize_t]])
+Core(; increment::Csize_t = 8192, backing_store::Cuint = true, write_tracking::Cuint = false, page_size::Csize_t = 524288)

Arguments

  • increment: specifies the increment by which allocated memory is to be increased each time more memory is required. (default: 8192)
  • backing_store: Boolean flag indicating whether to write the file contents to disk when the file is closed. (default: false)
  • write_tracking: Boolean flag indicating whether write tracking is enabled. (default: false)
  • page_size: Size, in bytes, of write aggregation pages. (default: 524288)
source
HDF5.Drivers.POSIXType
POSIX()

Also referred to as SEC2, this driver uses POSIX file-system functions like read and write to perform I/O to a single, permanent file on local disk with no system buffering. This driver is POSIX-compliant and is the default file driver for all systems.

source
HDF5.Drivers.ROS3Type
ROS3()
 ROS3(aws_region::String, secret_id::String, secret_key::String)
-ROS3(version::Int32, authenticate::Bool, aws_region::String, secret_id::String, secret_key::String)

This is the read-only virtual driver that enables access to HDF5 objects stored in AWS S3

source

Internals

The following macros are used for defining new properties and property getters/setters.

HDF5.@propertyclassMacro
@propertyclass P classid

Define a new subtype of P <: Properties corresponding to a HDF5 property list with class identifier classid.

Once defined, the following interfaces can be defined:

superclass(::Type{P})

This should return the type from which P inherits. If not defined, it will inherit from GenericProperties.

class_propertynames(::Type{P})

This should return a Tuple of Symbols, being the names of the properties associated with P.

class_getproperty(::Type{P}, p::Properties, name::Symbol)

If name is an associated property of type P, this should return the value of the property, otherwise call class_getproperty(superclass(P), p, name).

class_setproperty!(::Type{P}, p::Properties, name::Symbol, val)

If name is an associated property of type P, this should set the value of the property, otherwise call class_setproperty!(superclass(P), p, name, val).

source
HDF5.@bool_propertyMacro
@bool_property(name)

Wrap property getter/setter API functions that use 0/1 to use Bool values

source
HDF5.@enum_propertyMacro
@enum_property(name, sym1 => enumvalue1, sym2 => enumvalue2, ...)

Wrap property getter/setter API functions that use enum values to use symbol instead.

source
+ROS3(version::Int32, authenticate::Bool, aws_region::String, secret_id::String, secret_key::String)

This is the read-only virtual driver that enables access to HDF5 objects stored in AWS S3

source

Internals

The following macros are used for defining new properties and property getters/setters.

HDF5.@propertyclassMacro
@propertyclass P classid

Define a new subtype of P <: Properties corresponding to a HDF5 property list with class identifier classid.

Once defined, the following interfaces can be defined:

superclass(::Type{P})

This should return the type from which P inherits. If not defined, it will inherit from GenericProperties.

class_propertynames(::Type{P})

This should return a Tuple of Symbols, being the names of the properties associated with P.

class_getproperty(::Type{P}, p::Properties, name::Symbol)

If name is an associated property of type P, this should return the value of the property, otherwise call class_getproperty(superclass(P), p, name).

class_setproperty!(::Type{P}, p::Properties, name::Symbol, val)

If name is an associated property of type P, this should set the value of the property, otherwise call class_setproperty!(superclass(P), p, name, val).

source
HDF5.@bool_propertyMacro
@bool_property(name)

Wrap property getter/setter API functions that use 0/1 to use Bool values

source
HDF5.@enum_propertyMacro
@enum_property(name, sym1 => enumvalue1, sym2 => enumvalue2, ...)

Wrap property getter/setter API functions that use enum values to use symbol instead.

source
diff --git a/dev/mpi/index.html b/dev/mpi/index.html index e97039b81..96131b85f 100644 --- a/dev/mpi/index.html +++ b/dev/mpi/index.html @@ -29,4 +29,4 @@ dset = create_dataset(ff, "/data", datatype(eltype(A)), dataspace(dims)) # Write local data -dset[:, myrank + 1] = A

Note that metadata operations, such as create_dataset, must be called collectively (on all processes at the same time, with the same arguments), but the actual writing to the dataset may be done independently. See Collective Calling Requirements in Parallel HDF5 Applications for the exact requirements.

Sometimes, it may be more efficient to write data in chunks, so that each process writes to a separate chunk of the file. This is especially the case when data is uniformly distributed among MPI processes. In this example, this can be achieved by passing chunk=(M, 1) to create_dataset.

For better performance, it is sometimes preferable to perform collective I/O when reading and writing datasets in parallel. This is achieved by passing dxpl_mpio=:collective to create_dataset. See also the HDF5 docs.

A few more examples are available in test/mpio.jl.

+dset[:, myrank + 1] = A

Note that metadata operations, such as create_dataset, must be called collectively (on all processes at the same time, with the same arguments), but the actual writing to the dataset may be done independently. See Collective Calling Requirements in Parallel HDF5 Applications for the exact requirements.

Sometimes, it may be more efficient to write data in chunks, so that each process writes to a separate chunk of the file. This is especially the case when data is uniformly distributed among MPI processes. In this example, this can be achieved by passing chunk=(M, 1) to create_dataset.

For better performance, it is sometimes preferable to perform collective I/O when reading and writing datasets in parallel. This is achieved by passing dxpl_mpio=:collective to create_dataset. See also the HDF5 docs.

A few more examples are available in test/mpio.jl.

diff --git a/dev/search/index.html b/dev/search/index.html index 3aa146b89..a304a4930 100644 --- a/dev/search/index.html +++ b/dev/search/index.html @@ -1,2 +1,2 @@ -Search · HDF5.jl

Loading search...

    +Search · HDF5.jl

    Loading search...