diff options
author | byrnHDF <byrnHDF@users.noreply.github.com> | 2023-06-26 19:22:17 (GMT) |
---|---|---|
committer | byrnHDF <byrnHDF@users.noreply.github.com> | 2023-06-26 19:22:17 (GMT) |
commit | d12e43bc201e15edffcdf94fe820aeae6ab44882 (patch) | |
tree | 90aa12006b20849b65b7bc8e3d4fe60a488f7247 /group___t_r_a_v.html | |
parent | 4d49d1ee001bd4dff6b01e1830902bee22a19f3e (diff) | |
download | hdf5-d12e43bc201e15edffcdf94fe820aeae6ab44882.zip hdf5-d12e43bc201e15edffcdf94fe820aeae6ab44882.tar.gz hdf5-d12e43bc201e15edffcdf94fe820aeae6ab44882.tar.bz2 |
deploy: ab4d2aec9779b7a37747c95bd7b514417b299f73
Diffstat (limited to 'group___t_r_a_v.html')
-rw-r--r-- | group___t_r_a_v.html | 1041 |
1 files changed, 1041 insertions, 0 deletions
diff --git a/group___t_r_a_v.html b/group___t_r_a_v.html new file mode 100644 index 0000000..dbd83f6 --- /dev/null +++ b/group___t_r_a_v.html @@ -0,0 +1,1041 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.9.1"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>HDF5: Link Traversal</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtreedata.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ + $(document).ready(function() { init_search(); }); +/* @license-end */ +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="hdf5doxy.css" rel="stylesheet" type="text/css"> +<!-- <link href="hdf5doxy.css" rel="stylesheet" type="text/css"/> + --> +<script type="text/javascript" src="hdf5_navtree_hacks.js"></script> +</head> +<body> +<div style="background:#FFDDDD;font-size:120%;text-align:center;margin:0;padding:5px">Please, help us to better serve our user community by answering the following short survey: <a href="https://www.hdfgroup.org/website-survey/">https://www.hdfgroup.org/website-survey/</a></div> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectlogo"><img alt="Logo" src="HDFG-logo.png"/></td> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname"><a href="https://www.hdfgroup.org">HDF5</a> +  <span id="projectnumber">1.15.0.ab4d2ae</span> + </div> + <div id="projectbrief">API Reference</div> + </td> + <td> <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.svg" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a> + </span> + </div> +</td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.9.1 --> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +var searchBox = new SearchBox("searchBox", "search",false,'Search','.html'); +/* @license-end */ +</script> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(document).ready(function(){initNavTree('group___t_r_a_v.html',''); initResizable(); }); +/* @license-end */ +</script> +<div id="doc-content"> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="summary"> +<a href="#define-members">Macros</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Link Traversal<div class="ingroups"><a class="el" href="group___h5_l.html">Links (H5L)</a></div></div> </div> +</div><!--header--> +<div class="contents"> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> + <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for Link Traversal:</div> +<div id="dynsection-0-summary" class="dynsummary" style="display:block;"> +</div> +<div id="dynsection-0-content" class="dyncontent" style="display:none;"> +<div class="center"><img src="group___t_r_a_v.png" border="0" usemap="#agroup______t__r__a__v" alt=""/></div> +<map name="agroup______t__r__a__v" id="agroup______t__r__a__v"> +<area shape="rect" href="group___h5_l.html" title=" " alt="" coords="5,5,100,31"/> +<area shape="rect" title=" " alt="" coords="148,5,260,31"/> +</map> +</div> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> +Macros</h2></td></tr> +<tr class="memitem:ga55406698106930db68242987c11ba051"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#ga55406698106930db68242987c11ba051">H5Literate</a>   <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73">H5Literate2</a></td></tr> +<tr class="separator:ga55406698106930db68242987c11ba051"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga655b002428e0176c2fa23a0315fbbcc2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#ga655b002428e0176c2fa23a0315fbbcc2">H5Literate_by_name</a>   <a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e">H5Literate_by_name2</a></td></tr> +<tr class="separator:ga655b002428e0176c2fa23a0315fbbcc2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac0558936502924d9e898d8b6e041ed69"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#gac0558936502924d9e898d8b6e041ed69">H5Lvisit</a>   <a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66">H5Lvisit2</a></td></tr> +<tr class="separator:gac0558936502924d9e898d8b6e041ed69"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga138405315e233673741893e4e250f055"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#ga138405315e233673741893e4e250f055">H5Lvisit_by_name</a>   <a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173">H5Lvisit_by_name2</a></td></tr> +<tr class="separator:ga138405315e233673741893e4e250f055"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gad7ca4206f06b5ada85b6ec5867ec6c73"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73">H5Literate2</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> grp_id, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> *idx, <a class="el" href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a> op, void *op_data)</td></tr> +<tr class="memdesc:gad7ca4206f06b5ada85b6ec5867ec6c73"><td class="mdescLeft"> </td><td class="mdescRight">Iterates over links in a group, with user callback routine, according to the order within an index. <a href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73">More...</a><br /></td></tr> +<tr class="separator:gad7ca4206f06b5ada85b6ec5867ec6c73"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga745a65eb516ce40a3be43490aaeb5c5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e">H5Literate_by_name2</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *group_name, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> *idx, <a class="el" href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a> op, void *op_data, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga745a65eb516ce40a3be43490aaeb5c5e"><td class="mdescLeft"> </td><td class="mdescRight">Iterates through links in a group. <a href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e">More...</a><br /></td></tr> +<tr class="separator:ga745a65eb516ce40a3be43490aaeb5c5e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae1c6f963892a5f4e8922a66fbe338f66"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66">H5Lvisit2</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> grp_id, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a> op, void *op_data)</td></tr> +<tr class="memdesc:gae1c6f963892a5f4e8922a66fbe338f66"><td class="mdescLeft"> </td><td class="mdescRight">Recursively visits all links starting from a specified group. <a href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66">More...</a><br /></td></tr> +<tr class="separator:gae1c6f963892a5f4e8922a66fbe338f66"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gafee93792c7e27a7e78b1ec221876b173"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173">H5Lvisit_by_name2</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *group_name, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a> op, void *op_data, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:gafee93792c7e27a7e78b1ec221876b173"><td class="mdescLeft"> </td><td class="mdescRight">Recursively visits all links starting from a specified group. <a href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173">More...</a><br /></td></tr> +<tr class="separator:gafee93792c7e27a7e78b1ec221876b173"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga1e7c0a8cf17699563c02e128f27042f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#ga1e7c0a8cf17699563c02e128f27042f1">H5Literate1</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> grp_id, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> *idx, <a class="el" href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a> op, void *op_data)</td></tr> +<tr class="memdesc:ga1e7c0a8cf17699563c02e128f27042f1"><td class="mdescLeft"> </td><td class="mdescRight">Iterates over links in a group, with user callback routine, according to the order within an index. <a href="group___t_r_a_v.html#ga1e7c0a8cf17699563c02e128f27042f1">More...</a><br /></td></tr> +<tr class="separator:ga1e7c0a8cf17699563c02e128f27042f1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga87e036da0c8d1146a073f3ee08e0fedc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc">H5Literate_by_name1</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *group_name, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> *idx, <a class="el" href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a> op, void *op_data, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga87e036da0c8d1146a073f3ee08e0fedc"><td class="mdescLeft"> </td><td class="mdescRight">Iterates through links in a group by its name. <a href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc">More...</a><br /></td></tr> +<tr class="separator:ga87e036da0c8d1146a073f3ee08e0fedc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5424ef7043c82147490d027a0e8a59ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#ga5424ef7043c82147490d027a0e8a59ef">H5Lvisit1</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> grp_id, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a> op, void *op_data)</td></tr> +<tr class="memdesc:ga5424ef7043c82147490d027a0e8a59ef"><td class="mdescLeft"> </td><td class="mdescRight">Recursively visits all links starting from a specified group. <a href="group___t_r_a_v.html#ga5424ef7043c82147490d027a0e8a59ef">More...</a><br /></td></tr> +<tr class="separator:ga5424ef7043c82147490d027a0e8a59ef"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga1f1ba1bb4d44f2c111990024809417ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html#ga1f1ba1bb4d44f2c111990024809417ac">H5Lvisit_by_name1</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *group_name, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a> op, void *op_data, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga1f1ba1bb4d44f2c111990024809417ac"><td class="mdescLeft"> </td><td class="mdescRight">Recursively visits all links starting from a specified group. <a href="group___t_r_a_v.html#ga1f1ba1bb4d44f2c111990024809417ac">More...</a><br /></td></tr> +<tr class="separator:ga1f1ba1bb4d44f2c111990024809417ac"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<h2 class="groupheader">Macro Definition Documentation</h2> +<a id="ga55406698106930db68242987c11ba051"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga55406698106930db68242987c11ba051">◆ </a></span>H5Literate</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define H5Literate   <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73">H5Literate2</a></td> + </tr> + </table> +</div><div class="memdoc"> +<p><a class="el" href="group___t_r_a_v.html#ga55406698106930db68242987c11ba051">H5Literate()</a> is a macro that is mapped to either <a class="el" href="group___t_r_a_v.html#ga1e7c0a8cf17699563c02e128f27042f1" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate1()</a> or <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate2()</a>.<br /> +</p><dl class="section see"><dt>See also</dt><dd><a class="el" href="api-compat-macros.html">API Compatibility Macros</a> </dd></dl> + +</div> +</div> +<a id="ga655b002428e0176c2fa23a0315fbbcc2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga655b002428e0176c2fa23a0315fbbcc2">◆ </a></span>H5Literate_by_name</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define H5Literate_by_name   <a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e">H5Literate_by_name2</a></td> + </tr> + </table> +</div><div class="memdoc"> +<p><a class="el" href="group___t_r_a_v.html#ga655b002428e0176c2fa23a0315fbbcc2">H5Literate_by_name()</a> is a macro that is mapped to either <a class="el" href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc" title="Iterates through links in a group by its name.">H5Literate_by_name1()</a> or <a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a>.<br /> +</p><dl class="section see"><dt>See also</dt><dd><a class="el" href="api-compat-macros.html">API Compatibility Macros</a> </dd></dl> + +</div> +</div> +<a id="gac0558936502924d9e898d8b6e041ed69"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac0558936502924d9e898d8b6e041ed69">◆ </a></span>H5Lvisit</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define H5Lvisit   <a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66">H5Lvisit2</a></td> + </tr> + </table> +</div><div class="memdoc"> +<p><a class="el" href="group___t_r_a_v.html#gac0558936502924d9e898d8b6e041ed69">H5Lvisit()</a> is a macro that is mapped to either <a class="el" href="group___t_r_a_v.html#ga5424ef7043c82147490d027a0e8a59ef" title="Recursively visits all links starting from a specified group.">H5Lvisit1()</a> or <a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66" title="Recursively visits all links starting from a specified group.">H5Lvisit2()</a>.<br /> +</p><dl class="section see"><dt>See also</dt><dd><a class="el" href="api-compat-macros.html">API Compatibility Macros</a> </dd></dl> + +</div> +</div> +<a id="ga138405315e233673741893e4e250f055"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga138405315e233673741893e4e250f055">◆ </a></span>H5Lvisit_by_name</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define H5Lvisit_by_name   <a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173">H5Lvisit_by_name2</a></td> + </tr> + </table> +</div><div class="memdoc"> +<p><a class="el" href="group___t_r_a_v.html#ga138405315e233673741893e4e250f055">H5Lvisit_by_name()</a> is a macro that is mapped to either <a class="el" href="group___t_r_a_v.html#ga1f1ba1bb4d44f2c111990024809417ac" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name1()</a> or <a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name2()</a>.<br /> +</p><dl class="section see"><dt>See also</dt><dd><a class="el" href="api-compat-macros.html">API Compatibility Macros</a> </dd></dl> + +</div> +</div> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga1e7c0a8cf17699563c02e128f27042f1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga1e7c0a8cf17699563c02e128f27042f1">◆ </a></span>H5Literate1()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Literate1 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>grp_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> * </td> + <td class="paramname"><em>idx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a> </td> + <td class="paramname"><em>op</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>op_data</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Iterates over links in a group, with user callback routine, according to the order within an index. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">grp_id</td><td>Group identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">idx</td><td>Pointer to an iteration index to allow continuing a previous iteration </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Callback function </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">op_data</td><td>User-defined callback function context </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><b>Success:</b> The return value of the first operator that returns non-zero, or zero if all members were processed with no operator returning non-zero. </dd> +<dd> +<b>Failure:</b> Negative if an error occurs in the library, or the negative value returned by one of the operators.</dd></dl> +<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000052">Deprecated:</a></b></dt><dd>Deprecated in favor of <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate2()</a>.</dd></dl> +<p><a class="el" href="group___t_r_a_v.html#ga1e7c0a8cf17699563c02e128f27042f1" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate1()</a> iterates through the links in a file or group, <code>group_id</code>, in the order of the specified index, <code>idx_type</code>, using a user-defined callback routine <code>op</code>. <a class="el" href="group___t_r_a_v.html#ga1e7c0a8cf17699563c02e128f27042f1" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate1()</a> does not recursively follow links into subgroups of the specified group.</p> +<p>Three parameters are used to manage progress of the iteration: <code>idx_type</code>, <code>order</code>, and <code>idx_p</code>.</p> +<p><code>idx_type</code> specifies the index to be used. If the links have not been indexed by the index type, they will first be sorted by that index then the iteration will begin; if the links have been so indexed, the sorting step will be unnecessary, so the iteration may begin more quickly. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a></td><td>Lexicographic order on name</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a315475479b34056043b4b6583bafb280">H5_INDEX_CRT_ORDER</a></td><td>Index on creation order</td></tr> +</table> +<p><code>order</code> specifies the order in which objects are to be inspected along the index <code>idx_type</code>. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a80c3e083c0a77063b1a66553decfcb08">H5_ITER_INC</a></td><td>Increasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a></td><td>Decreasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a></td><td>Fastest available order</td></tr> +</table> +<p><code>idx_p</code> tracks the iteration and allows an iteration to be resumed if it was stopped before all members were processed. It is passed in by the application with a starting point and returned by the library with the point at which the iteration stopped.</p> +<p><code>op_data</code> is a user-defined pointer to the data required to process links in the course of the iteration. This pointer is passed back to each step of the iteration in the <code>op</code> callback function's <code>op_data</code> parameter. <code>op</code> is invoked for each link encounter.</p> +<p><code>op_data</code> is passed to and from each iteration and can be used to supply or aggregate information across iterations.</p> +<dl class="section remark"><dt>Remarks</dt><dd>Same pattern of behavior as <a class="el" href="group___h5_g.html#ga957fee64f796f184f542537127ad6c11" title="Iterates over the entries of a group invoking a callback for each entry encountered.">H5Giterate()</a>.</dd></dl> +<dl class="section note"><dt>Note</dt><dd>This function is also available through the <a class="el" href="group___t_r_a_v.html#ga55406698106930db68242987c11ba051">H5Literate()</a> macro.</dd></dl> +<dl class="section warning"><dt>Warning</dt><dd>The behavior of <a class="el" href="group___t_r_a_v.html#ga1e7c0a8cf17699563c02e128f27042f1" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate1()</a> is undefined if the link membership of <code>group_id</code> changes during the iteration. This does not limit the ability to change link destinations while iterating, but caution is advised.</dd></dl> +<dl class="section version"><dt>Version</dt><dd>1.12.0 Function was deprecated in this release. </dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a>, <a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66" title="Recursively visits all links starting from a specified group.">H5Lvisit2()</a>, <a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name2()</a> </dd></dl> + +</div> +</div> +<a id="gad7ca4206f06b5ada85b6ec5867ec6c73"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad7ca4206f06b5ada85b6ec5867ec6c73">◆ </a></span>H5Literate2()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Literate2 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>grp_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> * </td> + <td class="paramname"><em>idx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a> </td> + <td class="paramname"><em>op</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>op_data</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Iterates over links in a group, with user callback routine, according to the order within an index. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">grp_id</td><td>Group identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">idx</td><td>Pointer to an iteration index to allow continuing a previous iteration </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Callback function </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">op_data</td><td>User-defined callback function context </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><b>Success:</b> The return value of the first operator that returns non-zero, or zero if all members were processed with no operator returning non-zero. </dd> +<dd> +<b>Failure:</b> Negative if an error occurs in the library, or the negative value returned by one of the operators.</dd></dl> +<p><a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate2()</a> iterates through the links in a file or group, <code>group_id</code>, in the order of the specified index, <code>idx_type</code>, using a user-defined callback routine <code>op</code>. <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate2()</a> does not recursively follow links into subgroups of the specified group.</p> +<p>Three parameters are used to manage progress of the iteration: <code>idx_type</code>, <code>order</code>, and <code>idx_p</code>.</p> +<p><code>idx_type</code> specifies the index to be used. If the links have not been indexed by the index type, they will first be sorted by that index then the iteration will begin; if the links have been so indexed, the sorting step will be unnecessary, so the iteration may begin more quickly. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a></td><td>Lexicographic order on name</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a315475479b34056043b4b6583bafb280">H5_INDEX_CRT_ORDER</a></td><td>Index on creation order</td></tr> +</table> +<p><code>order</code> specifies the order in which objects are to be inspected along the index <code>idx_type</code>. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a80c3e083c0a77063b1a66553decfcb08">H5_ITER_INC</a></td><td>Increasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a></td><td>Decreasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a></td><td>Fastest available order</td></tr> +</table> +<p><code>idx_p</code> tracks the iteration and allows an iteration to be resumed if it was stopped before all members were processed. It is passed in by the application with a starting point and returned by the library with the point at which the iteration stopped.</p> +<p><code>op_data</code> is a user-defined pointer to the data required to process links in the course of the iteration. This pointer is passed back to each step of the iteration in the <code>op</code> callback function's <code>op_data</code> parameter. <code>op</code> is invoked for each link encounter.</p> +<p><code>op_data</code> is passed to and from each iteration and can be used to supply or aggregate information across iterations.</p> +<dl class="section remark"><dt>Remarks</dt><dd>Same pattern of behavior as <a class="el" href="group___h5_g.html#ga957fee64f796f184f542537127ad6c11" title="Iterates over the entries of a group invoking a callback for each entry encountered.">H5Giterate()</a>.</dd></dl> +<dl class="section note"><dt>Note</dt><dd>This function is also available through the <a class="el" href="group___t_r_a_v.html#ga55406698106930db68242987c11ba051">H5Literate()</a> macro.</dd></dl> +<dl class="section warning"><dt>Warning</dt><dd>The behavior of <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate2()</a> is undefined if the link membership of <code>group_id</code> changes during the iteration. This does not limit the ability to change link destinations while iterating, but caution is advised.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.12.0</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a>, <a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66" title="Recursively visits all links starting from a specified group.">H5Lvisit2()</a>, <a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name2()</a> </dd></dl> + +</div> +</div> +<a id="ga87e036da0c8d1146a073f3ee08e0fedc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga87e036da0c8d1146a073f3ee08e0fedc">◆ </a></span>H5Literate_by_name1()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Literate_by_name1 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>group_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> * </td> + <td class="paramname"><em>idx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a> </td> + <td class="paramname"><em>op</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>op_data</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Iterates through links in a group by its name. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">group_name</td><td>Group name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">idx</td><td>iteration position at which to start (<em>IN</em>) or position at which an interrupted iteration may be restarted (<em>OUT</em>) </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Callback function </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">op_data</td><td>User-defined callback function context </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list identifier</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><b>Success:</b> The return value of the first operator that returns non-zero, or zero if all members were processed with no operator returning non-zero. </dd> +<dd> +<b>Failure:</b> Negative if an error occurs in the library, or the negative value returned by one of the operators.</dd></dl> +<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000053">Deprecated:</a></b></dt><dd>As of HDF5-1.12 this function has been deprecated in favor of the function <a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a> or the macro <a class="el" href="group___t_r_a_v.html#ga655b002428e0176c2fa23a0315fbbcc2">H5Literate_by_name()</a>.</dd></dl> +<p><a class="el" href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc" title="Iterates through links in a group by its name.">H5Literate_by_name1()</a> iterates through the links in a group specified by <code>loc_id</code> and <code>group_name</code>, in the order of the specified index, <code>idx_type</code>, using a user-defined callback routine <code>op</code>. <a class="el" href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc" title="Iterates through links in a group by its name.">H5Literate_by_name1()</a> does not recursively follow links into subgroups of the specified group.</p> +<p><code>idx_type</code> specifies the index to be used. If the links have not been indexed by the index type, they will first be sorted by that index then the iteration will begin; if the links have been so indexed, the sorting step will be unnecessary, so the iteration may begin more quickly. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a></td><td>Lexicographic order on name</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a315475479b34056043b4b6583bafb280">H5_INDEX_CRT_ORDER</a></td><td>Index on creation order</td></tr> +</table> +<p><code>order</code> specifies the order in which objects are to be inspected along the index specified in <code>idx_type</code>. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a80c3e083c0a77063b1a66553decfcb08">H5_ITER_INC</a></td><td>Increasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a></td><td>Decreasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a></td><td>Fastest available order</td></tr> +</table> +<p><code>idx</code> allows an interrupted iteration to be resumed; it is passed in by the application with a starting point and returned by the library with the point at which the iteration stopped.</p> +<dl class="section warning"><dt>Warning</dt><dd><a class="el" href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc" title="Iterates through links in a group by its name.">H5Literate_by_name1()</a> assumes that the membership of the group being iterated over remains unchanged through the iteration; if any of the links in the group change during the iteration, the function’s behavior is undefined. Note, however, that objects pointed to by the links can be modified.</dd></dl> +<dl class="section note"><dt>Note</dt><dd><a class="el" href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc" title="Iterates through links in a group by its name.">H5Literate_by_name1()</a> is not recursive. In particular, if a member of <code>group_name</code> is found to be a group, call it <code>subgroup_a</code>, <a class="el" href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc" title="Iterates through links in a group by its name.">H5Literate_by_name1()</a> does not examine the members of <code>subgroup_a</code>. When recursive iteration is required, the application must handle the recursion, explicitly calling <a class="el" href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc" title="Iterates through links in a group by its name.">H5Literate_by_name1()</a> on discovered subgroups.</dd> +<dd> +<a class="el" href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc" title="Iterates through links in a group by its name.">H5Literate_by_name1()</a> is the same as <a class="el" href="group___h5_g.html#ga957fee64f796f184f542537127ad6c11" title="Iterates over the entries of a group invoking a callback for each entry encountered.">H5Giterate()</a>, except that <a class="el" href="group___h5_g.html#ga957fee64f796f184f542537127ad6c11" title="Iterates over the entries of a group invoking a callback for each entry encountered.">H5Giterate()</a> always proceeds in lexicographic order.</dd></dl> +<dl class="section version"><dt>Version</dt><dd>1.12.0 Function <a class="el" href="group___t_r_a_v.html#ga655b002428e0176c2fa23a0315fbbcc2">H5Literate_by_name()</a> was renamed to <a class="el" href="group___t_r_a_v.html#ga87e036da0c8d1146a073f3ee08e0fedc" title="Iterates through links in a group by its name.">H5Literate_by_name1()</a> and deprecated. </dd> +<dd> +1.8.8 Fortran subroutine added.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="ga745a65eb516ce40a3be43490aaeb5c5e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga745a65eb516ce40a3be43490aaeb5c5e">◆ </a></span>H5Literate_by_name2()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Literate_by_name2 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>group_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> * </td> + <td class="paramname"><em>idx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a> </td> + <td class="paramname"><em>op</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>op_data</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Iterates through links in a group. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">group_name</td><td>Group name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">idx</td><td>iteration position at which to start (<em>IN</em>) or position at which an interrupted iteration may be restarted (<em>OUT</em>) </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Callback function </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">op_data</td><td>User-defined callback function context </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list identifier </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><b>Success:</b> The return value of the first operator that returns non-zero, or zero if all members were processed with no operator returning non-zero. </dd> +<dd> +<b>Failure:</b> Negative if an error occurs in the library, or the negative value returned by one of the operators.</dd></dl> +<p><a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a> iterates through the links in a group specified by <code>loc_id</code> and <code>group_name</code>, in the order of the specified index, <code>idx_type</code>, using a user-defined callback routine <code>op</code>. <a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a> does not recursively follow links into subgroups of the specified group.</p> +<p><code>idx_type</code> specifies the index to be used. If the links have not been indexed by the index type, they will first be sorted by that index then the iteration will begin; if the links have been so indexed, the sorting step will be unnecessary, so the iteration may begin more quickly. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a></td><td>Lexicographic order on name</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a315475479b34056043b4b6583bafb280">H5_INDEX_CRT_ORDER</a></td><td>Index on creation order</td></tr> +</table> +<p><code>order</code> specifies the order in which objects are to be inspected along the index specified in <code>idx_type</code>. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a80c3e083c0a77063b1a66553decfcb08">H5_ITER_INC</a></td><td>Increasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a></td><td>Decreasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a></td><td>Fastest available order</td></tr> +</table> +<p><code>idx_p</code> allows an interrupted iteration to be resumed; it is passed in by the application with a starting point and returned by the library with the point at which the iteration stopped.</p> +<dl class="section warning"><dt>Warning</dt><dd><a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a> assumes that the membership of the group being iterated over remains unchanged through the iteration; if any of the links in the group change during the iteration, the function’s behavior is undefined. Note, however, that objects pointed to by the links can be modified.</dd></dl> +<dl class="section note"><dt>Note</dt><dd><a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a> is not recursive. In particular, if a member of <code>group_name</code> is found to be a group, call it <code>subgroup_a</code>, <a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a> does not examine the members of <code>subgroup_a</code>. When recursive iteration is required, the application must handle the recursion, explicitly calling <a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a> on discovered subgroups.</dd> +<dd> +<a class="el" href="group___t_r_a_v.html#ga745a65eb516ce40a3be43490aaeb5c5e" title="Iterates through links in a group.">H5Literate_by_name2()</a> is the same as <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate2()</a>, except that <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate2()</a> always proceeds in alphanumeric order.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.12.0</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___t_r_a_v.html#ga55406698106930db68242987c11ba051">H5Literate()</a>, <a class="el" href="group___t_r_a_v.html#gac0558936502924d9e898d8b6e041ed69">H5Lvisit()</a> </dd></dl> + +</div> +</div> +<a id="ga5424ef7043c82147490d027a0e8a59ef"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga5424ef7043c82147490d027a0e8a59ef">◆ </a></span>H5Lvisit1()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Lvisit1 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>grp_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a> </td> + <td class="paramname"><em>op</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>op_data</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Recursively visits all links starting from a specified group. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">grp_id</td><td>Group identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Callback function </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">op_data</td><td>User-defined callback function context</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><b>Success:</b> The return value of the first operator that returns non-zero, or zero if all members were processed with no operator returning non-zero. </dd> +<dd> +<b>Failure:</b> Negative if an error occurs in the library, or the negative value returned by one of the operators.</dd></dl> +<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000054">Deprecated:</a></b></dt><dd>As of HDF5-1.12 this function has been deprecated in favor of the function <a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66" title="Recursively visits all links starting from a specified group.">H5Lvisit2()</a> or the macro <a class="el" href="group___t_r_a_v.html#gac0558936502924d9e898d8b6e041ed69">H5Lvisit()</a>.</dd></dl> +<p><a class="el" href="group___t_r_a_v.html#ga5424ef7043c82147490d027a0e8a59ef" title="Recursively visits all links starting from a specified group.">H5Lvisit1()</a> is a recursive iteration function to visit all links in and below a group in an HDF5 file, thus providing a mechanism for an application to perform a common set of operations across all of those links or a dynamically selected subset. For non-recursive iteration across the members of a group, see <a class="el" href="group___t_r_a_v.html#ga1e7c0a8cf17699563c02e128f27042f1" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate1()</a>.</p> +<p>The group serving as the root of the iteration is specified by its group or file identifier, <code>group_id</code>.</p> +<p>Two parameters are used to establish the iteration: <code>idx_type</code> and <code>order</code>.</p> +<p><code>idx_type</code> specifies the index to be used. If the links have not been indexed by the index type, they will first be sorted by that index then the iteration will begin; if the links have been so indexed, the sorting step will be unnecessary, so the iteration may begin more quickly. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a></td><td>Lexicographic order on name</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a315475479b34056043b4b6583bafb280">H5_INDEX_CRT_ORDER</a></td><td>Index on creation order</td></tr> +</table> +<p>Note that the index type passed in <code>idx_type</code> is a best effort setting. If the application passes in a value indicating iteration in creation order and a group is encountered that was not tracked in creation order, that group will be iterated over in lexicographic order by name, or name order. (Name order is the native order used by the HDF5 library and is always available.)</p> +<p><code>order</code> specifies the order in which objects are to be inspected along the index specified in <code>idx_type</code>. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a80c3e083c0a77063b1a66553decfcb08">H5_ITER_INC</a></td><td>Increasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a></td><td>Decreasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a></td><td>Fastest available order</td></tr> +</table> +<p><code>op</code> is a callback function of type <a class="el" href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a> that is invoked for each link encountered. </p><div class="fragment"><div class="line"><span class="keyword">typedef</span> <a class="code" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> (*<a class="code" href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a>)(<a class="code" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> group, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <a class="code" href="struct_h5_l__info1__t.html">H5L_info1_t</a> *info, <span class="keywordtype">void</span> *op_data);</div> +<div class="ttc" id="a_h5_ipublic_8h_html_a0045db7ff9c22ad35db6ae91662e1943"><div class="ttname"><a href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a></div><div class="ttdeci">int64_t hid_t</div><div class="ttdef"><b>Definition:</b> H5Ipublic.h:60</div></div> +<div class="ttc" id="a_h5_lpublic_8h_html_aa92ad6ac7f9720520690785ad53d8b08"><div class="ttname"><a href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a></div><div class="ttdeci">herr_t(* H5L_iterate1_t)(hid_t group, const char *name, const H5L_info1_t *info, void *op_data)</div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:1466</div></div> +<div class="ttc" id="a_h5public_8h_html_a3b079ecf932a5c599499cf7e298af160"><div class="ttname"><a href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a></div><div class="ttdeci">int herr_t</div><div class="ttdef"><b>Definition:</b> H5public.h:235</div></div> +<div class="ttc" id="astruct_h5_l__info1__t_html"><div class="ttname"><a href="struct_h5_l__info1__t.html">H5L_info1_t</a></div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:1452</div></div> +</div><!-- fragment --><p> The <a class="el" href="struct_h5_l__info1__t.html">H5L_info1_t</a> struct is defined (in <a class="el" href="_h5_lpublic_8h.html">H5Lpublic.h</a>) as follows: </p><div class="fragment"><div class="line"> </div> +<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div> +<div class="line"> <a class="code" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a> type; </div> +<div class="line"> <a class="code" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> corder_valid; </div> +<div class="line"> int64_t corder; </div> +<div class="line"> <a class="code" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71a">H5T_cset_t</a> cset; </div> +<div class="line"> <span class="keyword">union </span>{</div> +<div class="line"> <a class="code" href="_h5public_8h.html#a8c86e866f40d7167cf9a1934c72b856f">haddr_t</a> address; </div> +<div class="line"> <span class="keywordtype">size_t</span> val_size; </div> +<div class="line"> } u;</div> +<div class="line">} <a class="code" href="struct_h5_l__info1__t.html">H5L_info1_t</a>;</div> +<div class="ttc" id="a_h5_lpublic_8h_html_a1e3c5d37c60e7a59b0179e26a4094a48"><div class="ttname"><a href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a></div><div class="ttdeci">H5L_type_t</div><div class="ttdoc">Link class types.</div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:63</div></div> +<div class="ttc" id="a_h5_tpublic_8h_html_a03755b8370672668ddc7063add28e71a"><div class="ttname"><a href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71a">H5T_cset_t</a></div><div class="ttdeci">H5T_cset_t</div><div class="ttdef"><b>Definition:</b> H5Tpublic.h:93</div></div> +<div class="ttc" id="a_h5public_8h_html_a8c86e866f40d7167cf9a1934c72b856f"><div class="ttname"><a href="_h5public_8h.html#a8c86e866f40d7167cf9a1934c72b856f">haddr_t</a></div><div class="ttdeci">uint64_t haddr_t</div><div class="ttdef"><b>Definition:</b> H5public.h:319</div></div> +<div class="ttc" id="a_h5public_8h_html_ad470b00eccd2115c707c02de5fa1120d"><div class="ttname"><a href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a></div><div class="ttdeci">bool hbool_t</div><div class="ttdef"><b>Definition:</b> H5public.h:243</div></div> +</div><!-- fragment --><p> The possible return values from the callback function, and the effect of each, are as follows: </p><ul> +<li>Zero causes the visit iterator to continue, returning zero when all group members have been processed. </li> +<li>A positive value causes the visit iterator to immediately return that positive value, indicating short-circuit success. </li> +<li>A negative value causes the visit iterator to immediately return that value, indicating failure.</li> +</ul> +<p>The <a class="el" href="group___t_r_a_v.html#ga5424ef7043c82147490d027a0e8a59ef" title="Recursively visits all links starting from a specified group.">H5Lvisit1()</a> <code>op_data</code> parameter is a user-defined pointer to the data required to process links in the course of the iteration. This pointer is passed back to each step of the iteration in the <code>op</code> callback function's <code>op_data</code> parameter.</p> +<p><a class="el" href="group___t_r_a_v.html#ga5424ef7043c82147490d027a0e8a59ef" title="Recursively visits all links starting from a specified group.">H5Lvisit1()</a> and <a class="el" href="group___h5_o.html#ga6efdb2a0a9fe9fe46695cc0f7bd993e7" title="Recursively visits all objects accessible from a specified object.">H5Ovisit1()</a> are companion functions: one for examining and operating on links; the other for examining and operating on the objects that those links point to. Both functions ensure that by the time the function completes successfully, every link or object below the specified point in the file has been presented to the application for whatever processing the application requires.</p> +<dl class="section version"><dt>Version</dt><dd>1.12.0 Function was renamed from <a class="el" href="group___t_r_a_v.html#gac0558936502924d9e898d8b6e041ed69">H5Lvisit()</a> to <a class="el" href="group___t_r_a_v.html#ga5424ef7043c82147490d027a0e8a59ef" title="Recursively visits all links starting from a specified group.">H5Lvisit1()</a> and deprecated.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="gae1c6f963892a5f4e8922a66fbe338f66"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gae1c6f963892a5f4e8922a66fbe338f66">◆ </a></span>H5Lvisit2()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Lvisit2 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>grp_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a> </td> + <td class="paramname"><em>op</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>op_data</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Recursively visits all links starting from a specified group. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">grp_id</td><td>Group identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Callback function </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">op_data</td><td>User-defined callback function context </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><b>Success:</b> The return value of the first operator that returns non-zero, or zero if all members were processed with no operator returning non-zero. </dd> +<dd> +<b>Failure:</b> Negative if an error occurs in the library, or the negative value returned by one of the operators.</dd></dl> +<p><a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66" title="Recursively visits all links starting from a specified group.">H5Lvisit2()</a> is a recursive iteration function to visit all links in and below a group in an HDF5 file, thus providing a mechanism for an application to perform a common set of operations across all of those links or a dynamically selected subset. For non-recursive iteration across the members of a group, see <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate2()</a>.</p> +<p>The group serving as the root of the iteration is specified by its group or file identifier, <code>group_id</code>.</p> +<p>Two parameters are used to establish the iteration: <code>idx_type</code> and <code>order</code>.</p> +<p><code>idx_type</code> specifies the index to be used. If the links have not been indexed by the index type, they will first be sorted by that index then the iteration will begin; if the links have been so indexed, the sorting step will be unnecessary, so the iteration may begin more quickly. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a></td><td>Lexicographic order on name</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a315475479b34056043b4b6583bafb280">H5_INDEX_CRT_ORDER</a></td><td>Index on creation order</td></tr> +</table> +<p>Note that the index type passed in <code>idx_type</code> is a best effort setting. If the application passes in a value indicating iteration in creation order and a group is encountered that was not tracked in creation order, that group will be iterated over in lexicographic order by name, or name order. (Name order is the native order used by the HDF5 library and is always available.)</p> +<p><code>order</code> specifies the order in which objects are to be inspected along the index specified in <code>idx_type</code>. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a80c3e083c0a77063b1a66553decfcb08">H5_ITER_INC</a></td><td>Increasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a></td><td>Decreasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a></td><td>Fastest available order</td></tr> +</table> +<p><code>op</code> is a callback function of type <a class="el" href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a> that is invoked for each link encountered. </p><div class="fragment"><div class="line"><span class="keyword">typedef</span> <a class="code" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> (*<a class="code" href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a>)(<a class="code" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> group, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <a class="code" href="struct_h5_l__info2__t.html">H5L_info2_t</a> *info, <span class="keywordtype">void</span> *op_data);</div> +<div class="ttc" id="a_h5_lpublic_8h_html_a9f26d305724d0969b3b25e100a109fc9"><div class="ttname"><a href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a></div><div class="ttdeci">herr_t(* H5L_iterate2_t)(hid_t group, const char *name, const H5L_info2_t *info, void *op_data)</div><div class="ttdoc">Prototype for H5Literate2(), H5Literate_by_name2() operator.</div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:105</div></div> +<div class="ttc" id="astruct_h5_l__info2__t_html"><div class="ttname"><a href="struct_h5_l__info2__t.html">H5L_info2_t</a></div><div class="ttdoc">Information struct for links.</div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:87</div></div> +</div><!-- fragment --><p> The <a class="el" href="struct_h5_l__info2__t.html">H5L_info2_t</a> struct is defined (in <a class="el" href="_h5_lpublic_8h.html">H5Lpublic.h</a>) as follows: </p><div class="fragment"><div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div> +<div class="line"> <a class="code" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a> type; </div> +<div class="line"> <a class="code" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> corder_valid; </div> +<div class="line"> int64_t corder; </div> +<div class="line"> <a class="code" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71a">H5T_cset_t</a> cset; </div> +<div class="line"> <span class="keyword">union </span>{</div> +<div class="line"> <a class="code" href="struct_h5_o__token__t.html">H5O_token_t</a> token; </div> +<div class="line"> <span class="keywordtype">size_t</span> val_size; </div> +<div class="line"> } u;</div> +<div class="line">} <a class="code" href="struct_h5_l__info2__t.html">H5L_info2_t</a>;</div> +<div class="ttc" id="astruct_h5_o__token__t_html"><div class="ttname"><a href="struct_h5_o__token__t.html">H5O_token_t</a></div><div class="ttdef"><b>Definition:</b> H5public.h:394</div></div> +</div><!-- fragment --><p> The possible return values from the callback function, and the effect of each, are as follows: </p><ul> +<li>Zero causes the visit iterator to continue, returning zero when all group members have been processed. </li> +<li>A positive value causes the visit iterator to immediately return that positive value, indicating short-circuit success. </li> +<li>A negative value causes the visit iterator to immediately return that value, indicating failure.</li> +</ul> +<p>The <a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66" title="Recursively visits all links starting from a specified group.">H5Lvisit2()</a> <code>op_data</code> parameter is a user-defined pointer to the data required to process links in the course of the iteration. This pointer is passed back to each step of the iteration in the <code>op</code> callback function's <code>op_data</code> parameter.</p> +<p><a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66" title="Recursively visits all links starting from a specified group.">H5Lvisit2()</a> and <a class="el" href="group___h5_o.html#gaa4ab542f581f4fc9a4eaa95debb29c9e" title="Recursively visits all objects accessible from a specified object.">H5Ovisit2()</a> are companion functions: one for examining and operating on links; the other for examining and operating on the objects that those links point to. Both functions ensure that by the time the function completes successfully, every link or object below the specified point in the file has been presented to the application for whatever processing the application requires.</p> +<dl class="section since"><dt>Since</dt><dd>1.12.0</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___t_r_a_v.html#ga55406698106930db68242987c11ba051">H5Literate()</a> </dd></dl> + +</div> +</div> +<a id="ga1f1ba1bb4d44f2c111990024809417ac"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga1f1ba1bb4d44f2c111990024809417ac">◆ </a></span>H5Lvisit_by_name1()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Lvisit_by_name1 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>group_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#aa92ad6ac7f9720520690785ad53d8b08">H5L_iterate1_t</a> </td> + <td class="paramname"><em>op</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>op_data</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Recursively visits all links starting from a specified group. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">group_name</td><td>Group name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Callback function </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">op_data</td><td>User-defined callback function context </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list identifier</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><b>Success:</b> The return value of the first operator that returns non-zero, or zero if all members were processed with no operator returning non-zero. </dd> +<dd> +<b>Failure:</b> Negative if an error occurs in the library, or the negative value returned by one of the operators.</dd></dl> +<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000055">Deprecated:</a></b></dt><dd>As of HDF5-1.12 this function has been deprecated in favor of the function <a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name2()</a> or the macro <a class="el" href="group___t_r_a_v.html#ga138405315e233673741893e4e250f055">H5Lvisit_by_name()</a>.</dd></dl> +<p><a class="el" href="group___t_r_a_v.html#ga1f1ba1bb4d44f2c111990024809417ac" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name1()</a> is a recursive iteration function to visit all links in and below a group in an HDF5 file, thus providing a mechanism for an application to perform a common set of operations across all of those links or a dynamically selected subset. For non-recursive iteration across the members of a group, see <a class="el" href="group___t_r_a_v.html#ga1e7c0a8cf17699563c02e128f27042f1" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate1()</a>.</p> +<p>The group serving as the root of the iteration is specified by the <code>loc_id</code> / <code>group_name</code> parameter pair. <code>loc_id</code> specifies a file or group; group_name specifies either a group in the file (with an absolute name based in the file’s root group) or a group relative to <code>loc_id</code>. If <code>loc_id</code> fully specifies the group that is to serve as the root of the iteration, group_name should be '.' (a dot). (Note that when <code>loc_id</code> fully specifies the group that is to serve as the root of the iteration, the user may wish to consider using <a class="el" href="group___t_r_a_v.html#ga5424ef7043c82147490d027a0e8a59ef" title="Recursively visits all links starting from a specified group.">H5Lvisit1()</a> instead of <a class="el" href="group___t_r_a_v.html#ga1f1ba1bb4d44f2c111990024809417ac" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name1()</a>.)</p> +<p>Two parameters are used to establish the iteration: <code>idx_type</code> and <code>order</code>.</p> +<p><code>idx_type</code> specifies the index to be used. If the links have not been indexed by the index type, they will first be sorted by that index then the iteration will begin; if the links have been so indexed, the sorting step will be unnecessary, so the iteration may begin more quickly. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a></td><td>Lexicographic order on name</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a315475479b34056043b4b6583bafb280">H5_INDEX_CRT_ORDER</a></td><td>Index on creation order</td></tr> +</table> +<p>Note that the index type passed in <code>idx_type</code> is a best effort setting. If the application passes in a value indicating iteration in creation order and a group is encountered that was not tracked in creation order, that group will be iterated over in lexicographic order by name, or name order. (Name order is the native order used by the HDF5 library and is always available.)</p> +<p><code>order</code> specifies the order in which objects are to be inspected along the index specified in <code>idx_type</code>. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a80c3e083c0a77063b1a66553decfcb08">H5_ITER_INC</a></td><td>Increasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a></td><td>Decreasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a></td><td>Fastest available order</td></tr> +</table> +<p>The <code>op</code> callback function, the related <a class="el" href="struct_h5_l__info1__t.html">H5L_info1_t</a> <code>struct</code>, and the effect that the callback function's return value has on the application are described in <a class="el" href="group___t_r_a_v.html#ga5424ef7043c82147490d027a0e8a59ef" title="Recursively visits all links starting from a specified group.">H5Lvisit1()</a>.</p> +<p>The <a class="el" href="group___t_r_a_v.html#ga1f1ba1bb4d44f2c111990024809417ac" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name1()</a> <code>op_data</code> parameter is a user-defined pointer to the data required to process links in the course of the iteration. This pointer is passed back to each step of the iteration in the callback function's <code>op_data</code> parameter.</p> +<p><code>lapl_id</code> is a link access property list. In the general case, when default link access properties are acceptable, this can be passed in as <a class="el" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>. An example of a situation that requires a non-default link access property list is when the link is an external link; an external link may require that a link prefix be set in a link access property list (see <a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix()</a>).</p> +<p><a class="el" href="group___t_r_a_v.html#ga1f1ba1bb4d44f2c111990024809417ac" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name1()</a> and <a class="el" href="group___h5_o.html#gaffacf3bd66f4fe074099eae1c80914f2" title="Recursively visits all objects starting from a specified object.">H5Ovisit_by_name1()</a> are companion functions: one for examining and operating on links; the other for examining and operating on the objects that those links point to. Both functions ensure that by the time the function completes successfully, every link or object below the specified point in the file has been presented to the application for whatever processing the application requires.</p> +<dl class="section version"><dt>Version</dt><dd>1.12.0 Function renamed from <a class="el" href="group___t_r_a_v.html#ga138405315e233673741893e4e250f055">H5Lvisit_by_name()</a> to <a class="el" href="group___t_r_a_v.html#ga1f1ba1bb4d44f2c111990024809417ac" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name1()</a> and deprecated.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="gafee93792c7e27a7e78b1ec221876b173"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafee93792c7e27a7e78b1ec221876b173">◆ </a></span>H5Lvisit_by_name2()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Lvisit_by_name2 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>group_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#a9f26d305724d0969b3b25e100a109fc9">H5L_iterate2_t</a> </td> + <td class="paramname"><em>op</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>op_data</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Recursively visits all links starting from a specified group. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">group_name</td><td>Group name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Callback function </td></tr> + <tr><td class="paramdir">[in,out]</td><td class="paramname">op_data</td><td>User-defined callback function context </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list identifier</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Returns a non-negative value if successful; otherwise, returns a negative value.</dd></dl> +<p><a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name2()</a> is a recursive iteration function to visit all links in and below a group in an HDF5 file, thus providing a mechanism for an application to perform a common set of operations across all of those links or a dynamically selected subset. For non-recursive iteration across the members of a group, see <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate2()</a>.</p> +<p>The group serving as the root of the iteration is specified by the <code>loc_id</code> / <code>group_name</code> parameter pair. <code>loc_id</code> specifies a file or group; group_name specifies either a group in the file (with an absolute name based in the file’s root group) or a group relative to <code>loc_id</code>. If <code>loc_id</code> fully specifies the group that is to serve as the root of the iteration, group_name should be '.' (a dot). (Note that when <code>loc_id</code> fully specifies the group that is to serve as the root of the iteration, the user may wish to consider using <a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66" title="Recursively visits all links starting from a specified group.">H5Lvisit2()</a> instead of <a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name2()</a>.)</p> +<p>Two parameters are used to establish the iteration: <code>idx_type</code> and <code>order</code>.</p> +<p><code>idx_type</code> specifies the index to be used. If the links have not been indexed by the index type, they will first be sorted by that index then the iteration will begin; if the links have been so indexed, the sorting step will be unnecessary, so the iteration may begin more quickly. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a></td><td>Lexicographic order on name</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a315475479b34056043b4b6583bafb280">H5_INDEX_CRT_ORDER</a></td><td>Index on creation order</td></tr> +</table> +<p>Note that the index type passed in <code>idx_type</code> is a best effort setting. If the application passes in a value indicating iteration in creation order and a group is encountered that was not tracked in creation order, that group will be iterated over in lexicographic order by name, or name order. (Name order is the native order used by the HDF5 library and is always available.)</p> +<p><code>order</code> specifies the order in which objects are to be inspected along the index specified in <code>idx_type</code>. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a80c3e083c0a77063b1a66553decfcb08">H5_ITER_INC</a></td><td>Increasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a></td><td>Decreasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a></td><td>Fastest available order</td></tr> +</table> +<p>The <code>op</code> callback function, the related <a class="el" href="struct_h5_l__info2__t.html">H5L_info2_t</a> <code>struct</code>, and the effect that the callback function's return value has on the application are described in <a class="el" href="group___t_r_a_v.html#gae1c6f963892a5f4e8922a66fbe338f66" title="Recursively visits all links starting from a specified group.">H5Lvisit2()</a>.</p> +<p>The <a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name2()</a> <code>op_data</code> parameter is a user-defined pointer to the data required to process links in the course of the iteration. This pointer is passed back to each step of the iteration in the callback function's <code>op_data</code> parameter.</p> +<p><code>lapl_id</code> is a link access property list. In the general case, when default link access properties are acceptable, this can be passed in as <a class="el" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>. An example of a situation that requires a non-default link access property list is when the link is an external link; an external link may require that a link prefix be set in a link access property list (see <a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix()</a>).</p> +<p><a class="el" href="group___t_r_a_v.html#gafee93792c7e27a7e78b1ec221876b173" title="Recursively visits all links starting from a specified group.">H5Lvisit_by_name2()</a> and <a class="el" href="group___h5_o.html#ga9c155caf5499405fe403e1eb27b5beb6" title="Recursively visits all objects starting from a specified object.">H5Ovisit_by_name2()</a> are companion functions: one for examining and operating on links; the other for examining and operating on the objects that those links point to. Both functions ensure that by the time the function completes successfully, every link or object below the specified point in the file has been presented to the application for whatever processing the application requires.</p> +<dl class="section since"><dt>Since</dt><dd>1.12.0 </dd></dl> + +</div> +</div> +</div><!-- contents --> +</div><!-- doc-content --> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">Generated on Mon Jun 26 2023 19:01:38 for HDF5 by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.9.1 </li> + </ul> +</div> +</body> +</html> |