|
std::shared_ptr< hid_t > | ioda::detail::Engines::HH::Handles::createStatic (hid_t newh) |
| Encapsulate a static hid object in a shared pointer. More...
|
|
IODA_HIDDEN std::pair< bool, bool > | ioda::detail::Engines::HH::isFilteravailable (H5Z_filter_t filt) |
| Check that the given filter is available for encoding/decoding in the HDF5 pipeline. More...
|
|
IODA_HIDDEN bool | ioda::detail::Engines::HH::CanUseSZIP (HH_hid_t dtype) |
| Can SZIP encoding be used for a datatype?@detail This depends on the data type and the HDF5 build options. SZIP cannot be applied to compound, array, variable-length, enumerative or user-defined datatypes. More...
|
|
IODA_HIDDEN herr_t | ioda::detail::Engines::HH::iterate_find_attr (hid_t loc_id, const char *name, void *op_data) |
| Callback function for H5Aiterate / H5Aiterate2 / H5Aiterate1. More...
|
|
IODA_HIDDEN H5_index_t | ioda::detail::Engines::HH::getAttrCreationOrder (hid_t obj, H5O_type_t objType) |
| Determine attribute creation order for a dataset. More...
|
|
IODA_HIDDEN std::pair< bool, hsize_t > | ioda::detail::Engines::HH::iterativeAttributeSearch (hid_t baseObject, const char *attname, H5_index_t iteration_type) |
| Linear search to find an attribute. More...
|
|
IODA_HIDDEN HH_Attribute | ioda::detail::Engines::HH::iterativeAttributeSearchAndOpen (hid_t baseObject, H5O_type_t objType, const char *attname) |
| Linear search to find and open an attribute, if it exists. More...
|
|
IODA_HIDDEN void | ioda::detail::Engines::HH::attr_update_dimension_list (HH_Variable *var, const std::vector< std::vector< ref_t >> &new_dim_list) |
| Attribute DIMENSION_LIST update function. More...
|
|
IODA_HIDDEN void | ioda::detail::Engines::HH::attr_update_reference_list (HH_Variable *scale, const std::vector< ds_list_t > &ref_var_axis) |
| Attribute REFERENCE_LIST update function. More...
|
|
| ioda::detail::Engines::HH::View_hvl_t< Inner >::View_hvl_t (hvl_t &obj) |
|
size_t | ioda::detail::Engines::HH::View_hvl_t< Inner >::size () const |
|
void | ioda::detail::Engines::HH::View_hvl_t< Inner >::resize (size_t newlen) |
|
void | ioda::detail::Engines::HH::View_hvl_t< Inner >::clear () |
|
Inner * | ioda::detail::Engines::HH::View_hvl_t< Inner >::at (size_t i) |
|
Inner * | ioda::detail::Engines::HH::View_hvl_t< Inner >::operator[] (size_t i) |
|
| ioda::detail::Engines::HH::Vlen_data::Vlen_data (size_t sz, HH_hid_t typ, HH_hid_t space) |
|
| ioda::detail::Engines::HH::Vlen_data::~Vlen_data () |
|
| ioda::detail::Engines::HH::Vlen_data::Vlen_data (const Vlen_data &)=delete |
|
| ioda::detail::Engines::HH::Vlen_data::Vlen_data (Vlen_data &&)=delete |
|
Vlen_data | ioda::detail::Engines::HH::Vlen_data::operator= (const Vlen_data &)=delete |
|
Vlen_data | ioda::detail::Engines::HH::Vlen_data::operator= (Vlen_data &&)=delete |
|
hvl_t & | ioda::detail::Engines::HH::Vlen_data::operator[] (size_t idx) |
|
IODA_HIDDEN std::string | ioda::detail::Engines::HH::getNameFromIdentifier (hid_t obj_id) |
| Gets a variable / group / link name from an id. Useful for debugging. More...
|
|
HH_hid_t | ioda::detail::Engines::HH::attr_reference_list_type () |
|
HH_hid_t | ioda::detail::Engines::HH::attr_reference_list_space (hsize_t numrefs) |
|
Implementation of the HDF5 backend.
void ioda::detail::Engines::HH::attr_update_dimension_list |
( |
HH_Variable * |
var, |
|
|
const std::vector< std::vector< ref_t >> & |
new_dim_list |
|
) |
| |
Attribute DIMENSION_LIST update function.
This function exists to update DIMENSION_LISTs without updating the mirrored REFERENCE_LIST entry in the variable's scales. This is done for performance reasons, as attaching dimension scales for hundreds of variables sequentially is very slow.
NOTE: This code does not use the regular atts.open(...) call for performance reasons when we have to repeat this call for hundreds or thousands of variables. We instead do a creation-order-preferred search.
- Parameters
-
var | is the variable of interest. |
new_dim_list | is the mapping of dimensions that should be added to the variable. |
Definition at line 126 of file HH-util.cpp.
void ioda::detail::Engines::HH::attr_update_reference_list |
( |
HH_Variable * |
scale, |
|
|
const std::vector< ds_list_t > & |
ref_var_axis |
|
) |
| |
Attribute REFERENCE_LIST update function.
This function exists to update REFERENCE_LISTs without updating the mirrored DIMENSION_LIST entry. This is done for performance reasons, as attaching dimension scales for hundreds of variables sequentially is very slow.
NOTE: This code does not use the regular atts.open(...) call for performance reasons when we have to repeat this call for hundreds or thousands of variables. We instead do a creation-order-preferred search.
- Parameters
-
scale | is the scale of interest. |
ref_var_axis_list | is the mapping of variables-dimension numbers that should be added to the scale's REFERENCE_LIST attribute. |
Definition at line 230 of file HH-util.cpp.
HH_Attribute ioda::detail::Engines::HH::iterativeAttributeSearchAndOpen |
( |
hid_t |
baseObject, |
|
|
H5O_type_t |
objType, |
|
|
const char * |
attname |
|
) |
| |
Linear search to find and open an attribute, if it exists.
- Parameters
-
baseObject | is the object that could contain the attribute. |
objType | is the type of object (Dataset or Group). |
attname | is the name of the attribute. |
- Returns
- An open handle to the attribute, if it exists.
-
An invalid handle if the attribute does not exist or upon general failure.
This function is useful because it is faster than the regular attribute open by name routine, which does not take advantage of attribute creation order indexing. Performance is particularly good when there are few attributes attached to the base object.
Definition at line 100 of file HH-util.cpp.