summaryrefslogtreecommitdiffstats
path: root/doxygen
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2022-08-09 23:11:14 (GMT)
committerGitHub <noreply@github.com>2022-08-09 23:11:14 (GMT)
commit4c66bf627ec4b963f026bbfa7101127271644f79 (patch)
tree4a4352a58dde0a80f7f72eab56484ddd94ec2294 /doxygen
parentfc9f31ad8c8ff4122e8bb2997e0a2bfa89cb054b (diff)
downloadhdf5-4c66bf627ec4b963f026bbfa7101127271644f79.zip
hdf5-4c66bf627ec4b963f026bbfa7101127271644f79.tar.gz
hdf5-4c66bf627ec4b963f026bbfa7101127271644f79.tar.bz2
Merge UG from 1.10 and add prelim vol section (#1980)
* Merge UG from 1.10 and add prelim vol section * Spelling fixes * Merge format and autotools javadoc from 1.10
Diffstat (limited to 'doxygen')
-rw-r--r--doxygen/CMakeLists.txt3
-rw-r--r--doxygen/Doxyfile.in5
-rw-r--r--doxygen/dox/DDLBNF110.dox2
-rw-r--r--doxygen/dox/Overview.dox6
-rw-r--r--doxygen/dox/RFC.dox2
-rw-r--r--doxygen/dox/ReferenceManual.dox61
-rw-r--r--doxygen/dox/Specifications.dox16
-rw-r--r--doxygen/dox/TechnicalNotes.dox16
-rw-r--r--doxygen/dox/UsersGuide.dox400
-rw-r--r--doxygen/dox/high_level/extension.dox544
-rw-r--r--doxygen/dox/high_level/high_level.dox29
-rw-r--r--doxygen/examples/H5.format.1.0.html2
-rw-r--r--doxygen/examples/H5.format.1.1.html2
-rw-r--r--doxygen/examples/H5.format.2.0.html6
-rw-r--r--doxygen/examples/H5.format.html6
-rw-r--r--doxygen/examples/H5R_examples.c171
-rw-r--r--doxygen/examples/ThreadSafeLibrary.html10
-rw-r--r--doxygen/examples/core_menu.md65
-rw-r--r--doxygen/examples/fortran_menu.md61
-rw-r--r--doxygen/examples/high_level_menu.md30
-rw-r--r--doxygen/examples/java_menu.md84
-rw-r--r--doxygen/hdf5doxy.css16
-rw-r--r--doxygen/hdf5doxy_layout.xml1
-rw-r--r--doxygen/img/Dmodel_fig1.gifbin0 -> 13259 bytes
-rw-r--r--doxygen/img/Dmodel_fig10.gifbin0 -> 11552 bytes
-rw-r--r--doxygen/img/Dmodel_fig11_b.gifbin0 -> 13924 bytes
-rw-r--r--doxygen/img/Dmodel_fig12_a.gifbin0 -> 3182 bytes
-rw-r--r--doxygen/img/Dmodel_fig12_b.gifbin0 -> 4028 bytes
-rw-r--r--doxygen/img/Dmodel_fig14_a.gifbin0 -> 5367 bytes
-rw-r--r--doxygen/img/Dmodel_fig14_b.gifbin0 -> 6432 bytes
-rw-r--r--doxygen/img/Dmodel_fig14_c.gifbin0 -> 7397 bytes
-rw-r--r--doxygen/img/Dmodel_fig14_d.gifbin0 -> 9898 bytes
-rw-r--r--doxygen/img/Dmodel_fig2.gifbin0 -> 12024 bytes
-rw-r--r--doxygen/img/Dmodel_fig3_a.gifbin0 -> 7427 bytes
-rw-r--r--doxygen/img/Dmodel_fig3_c.gifbin0 -> 6800 bytes
-rw-r--r--doxygen/img/Dmodel_fig4_a.gifbin0 -> 4239 bytes
-rw-r--r--doxygen/img/Dmodel_fig4_b.gifbin0 -> 24587 bytes
-rw-r--r--doxygen/img/Dmodel_fig5.gifbin0 -> 7431 bytes
-rw-r--r--doxygen/img/Dmodel_fig6.gifbin0 -> 6497 bytes
-rw-r--r--doxygen/img/Dmodel_fig7_b.gifbin0 -> 26637 bytes
-rw-r--r--doxygen/img/Dmodel_fig8.gifbin0 -> 12217 bytes
-rw-r--r--doxygen/img/Dmodel_fig9.gifbin0 -> 14812 bytes
-rw-r--r--doxygen/img/Dsets_NbitFloating1.gifbin0 -> 6815 bytes
-rw-r--r--doxygen/img/Dsets_NbitFloating2.gifbin0 -> 9335 bytes
-rw-r--r--doxygen/img/Dsets_NbitInteger1.gifbin0 -> 6489 bytes
-rw-r--r--doxygen/img/Dsets_NbitInteger2.gifbin0 -> 10471 bytes
-rw-r--r--doxygen/img/Dsets_fig1.gifbin0 -> 10803 bytes
-rw-r--r--doxygen/img/Dsets_fig10.gifbin0 -> 6538 bytes
-rw-r--r--doxygen/img/Dsets_fig11.gifbin0 -> 21211 bytes
-rw-r--r--doxygen/img/Dsets_fig12.gifbin0 -> 36869 bytes
-rw-r--r--doxygen/img/Dsets_fig2.gifbin0 -> 18083 bytes
-rw-r--r--doxygen/img/Dsets_fig3.gifbin0 -> 27621 bytes
-rw-r--r--doxygen/img/Dsets_fig4.gifbin0 -> 41416 bytes
-rw-r--r--doxygen/img/Dsets_fig5.gifbin0 -> 15893 bytes
-rw-r--r--doxygen/img/Dsets_fig6.gifbin0 -> 2509 bytes
-rw-r--r--doxygen/img/Dsets_fig7.gifbin0 -> 2556 bytes
-rw-r--r--doxygen/img/Dsets_fig8.gifbin0 -> 2273 bytes
-rw-r--r--doxygen/img/Dsets_fig9.gifbin0 -> 4368 bytes
-rw-r--r--doxygen/img/Dspace_CvsF1.gifbin0 -> 8623 bytes
-rw-r--r--doxygen/img/Dspace_CvsF2.gifbin0 -> 8623 bytes
-rw-r--r--doxygen/img/Dspace_CvsF3.gifbin0 -> 8909 bytes
-rw-r--r--doxygen/img/Dspace_CvsF4.gifbin0 -> 8470 bytes
-rw-r--r--doxygen/img/Dspace_combine.gifbin0 -> 5101 bytes
-rw-r--r--doxygen/img/Dspace_complex.gifbin0 -> 6715 bytes
-rw-r--r--doxygen/img/Dspace_features.gifbin0 -> 89809 bytes
-rw-r--r--doxygen/img/Dspace_features_cmpd.gifbin0 -> 31274 bytes
-rw-r--r--doxygen/img/Dspace_move.gifbin0 -> 13255 bytes
-rw-r--r--doxygen/img/Dspace_point.gifbin0 -> 6697 bytes
-rw-r--r--doxygen/img/Dspace_read.gifbin0 -> 14238 bytes
-rw-r--r--doxygen/img/Dspace_select.gifbin0 -> 29452 bytes
-rw-r--r--doxygen/img/Dspace_separate.gifbin0 -> 9911 bytes
-rw-r--r--doxygen/img/Dspace_simple.gifbin0 -> 9709 bytes
-rw-r--r--doxygen/img/Dspace_subset.gifbin0 -> 4790 bytes
-rw-r--r--doxygen/img/Dspace_three_datasets.gifbin0 -> 10912 bytes
-rw-r--r--doxygen/img/Dspace_transfer.gifbin0 -> 15096 bytes
-rw-r--r--doxygen/img/Dspace_write1to2.gifbin0 -> 38748 bytes
-rw-r--r--doxygen/img/Dtypes_fig1.gifbin0 -> 8857 bytes
-rw-r--r--doxygen/img/Dtypes_fig10.gifbin0 -> 41804 bytes
-rw-r--r--doxygen/img/Dtypes_fig11.gifbin0 -> 79789 bytes
-rw-r--r--doxygen/img/Dtypes_fig12.gifbin0 -> 15692 bytes
-rw-r--r--doxygen/img/Dtypes_fig13a.gifbin0 -> 3350 bytes
-rw-r--r--doxygen/img/Dtypes_fig13b.gifbin0 -> 3571 bytes
-rw-r--r--doxygen/img/Dtypes_fig13c.gifbin0 -> 2629 bytes
-rw-r--r--doxygen/img/Dtypes_fig13d.gifbin0 -> 2769 bytes
-rw-r--r--doxygen/img/Dtypes_fig14.gifbin0 -> 50174 bytes
-rw-r--r--doxygen/img/Dtypes_fig15.gifbin0 -> 30871 bytes
-rw-r--r--doxygen/img/Dtypes_fig16.gifbin0 -> 5420 bytes
-rw-r--r--doxygen/img/Dtypes_fig16a.gifbin0 -> 10896 bytes
-rw-r--r--doxygen/img/Dtypes_fig16b.gifbin0 -> 6908 bytes
-rw-r--r--doxygen/img/Dtypes_fig16c.gifbin0 -> 6847 bytes
-rw-r--r--doxygen/img/Dtypes_fig16d.gifbin0 -> 9850 bytes
-rw-r--r--doxygen/img/Dtypes_fig17a.gifbin0 -> 13623 bytes
-rw-r--r--doxygen/img/Dtypes_fig17b.gifbin0 -> 30154 bytes
-rw-r--r--doxygen/img/Dtypes_fig18.gifbin0 -> 9037 bytes
-rw-r--r--doxygen/img/Dtypes_fig19.gifbin0 -> 12014 bytes
-rw-r--r--doxygen/img/Dtypes_fig2.gifbin0 -> 6099 bytes
-rw-r--r--doxygen/img/Dtypes_fig20a.gifbin0 -> 31836 bytes
-rw-r--r--doxygen/img/Dtypes_fig20b.gifbin0 -> 17044 bytes
-rw-r--r--doxygen/img/Dtypes_fig20c.gifbin0 -> 24983 bytes
-rw-r--r--doxygen/img/Dtypes_fig20d.gifbin0 -> 14435 bytes
-rw-r--r--doxygen/img/Dtypes_fig21.gifbin0 -> 56286 bytes
-rw-r--r--doxygen/img/Dtypes_fig22.gifbin0 -> 40000 bytes
-rw-r--r--doxygen/img/Dtypes_fig23.gifbin0 -> 61311 bytes
-rw-r--r--doxygen/img/Dtypes_fig24.gifbin0 -> 30529 bytes
-rw-r--r--doxygen/img/Dtypes_fig25a.gifbin0 -> 17268 bytes
-rw-r--r--doxygen/img/Dtypes_fig25c.gifbin0 -> 17238 bytes
-rw-r--r--doxygen/img/Dtypes_fig26.gifbin0 -> 14866 bytes
-rw-r--r--doxygen/img/Dtypes_fig27.gifbin0 -> 57099 bytes
-rw-r--r--doxygen/img/Dtypes_fig28.gifbin0 -> 49961 bytes
-rw-r--r--doxygen/img/Dtypes_fig3.gifbin0 -> 5654 bytes
-rw-r--r--doxygen/img/Dtypes_fig4.gifbin0 -> 14387 bytes
-rw-r--r--doxygen/img/Dtypes_fig5.gifbin0 -> 16959 bytes
-rw-r--r--doxygen/img/Dtypes_fig6.gifbin0 -> 52742 bytes
-rw-r--r--doxygen/img/Dtypes_fig7.gifbin0 -> 55938 bytes
-rw-r--r--doxygen/img/Dtypes_fig8.gifbin0 -> 20671 bytes
-rw-r--r--doxygen/img/Dtypes_fig9.gifbin0 -> 22036 bytes
-rw-r--r--doxygen/img/Files_fig3.gifbin0 -> 44382 bytes
-rw-r--r--doxygen/img/Files_fig4.gifbin0 -> 38862 bytes
-rw-r--r--doxygen/img/Groups_fig1.gifbin0 -> 5404 bytes
-rw-r--r--doxygen/img/Groups_fig10_a.gifbin0 -> 7745 bytes
-rw-r--r--doxygen/img/Groups_fig10_b.gifbin0 -> 6372 bytes
-rw-r--r--doxygen/img/Groups_fig10_c.gifbin0 -> 8308 bytes
-rw-r--r--doxygen/img/Groups_fig10_d.gifbin0 -> 12963 bytes
-rw-r--r--doxygen/img/Groups_fig11_a.gifbin0 -> 7349 bytes
-rw-r--r--doxygen/img/Groups_fig11_b.gifbin0 -> 7912 bytes
-rw-r--r--doxygen/img/Groups_fig11_c.gifbin0 -> 8589 bytes
-rw-r--r--doxygen/img/Groups_fig11_d.gifbin0 -> 9552 bytes
-rw-r--r--doxygen/img/Groups_fig2.gifbin0 -> 6187 bytes
-rw-r--r--doxygen/img/Groups_fig3.gifbin0 -> 5045 bytes
-rw-r--r--doxygen/img/Groups_fig4.gifbin0 -> 12187 bytes
-rw-r--r--doxygen/img/Groups_fig5.gifbin0 -> 10459 bytes
-rw-r--r--doxygen/img/Groups_fig6.gifbin0 -> 13979 bytes
-rw-r--r--doxygen/img/Groups_fig9_a.gifbin0 -> 6313 bytes
-rw-r--r--doxygen/img/Groups_fig9_aa.gifbin0 -> 7923 bytes
-rw-r--r--doxygen/img/Groups_fig9_b.gifbin0 -> 7352 bytes
-rw-r--r--doxygen/img/Groups_fig9_bb.gifbin0 -> 7336 bytes
-rw-r--r--doxygen/img/Pmodel_fig2.gifbin0 -> 4411 bytes
-rw-r--r--doxygen/img/Pmodel_fig3.gifbin0 -> 39263 bytes
-rw-r--r--doxygen/img/Pmodel_fig5_a.gifbin0 -> 17234 bytes
-rw-r--r--doxygen/img/Pmodel_fig5_b.gifbin0 -> 20671 bytes
-rw-r--r--doxygen/img/Pmodel_fig5_c.gifbin0 -> 23897 bytes
-rw-r--r--doxygen/img/Pmodel_fig5_d.gifbin0 -> 23575 bytes
-rw-r--r--doxygen/img/Pmodel_fig5_e.gifbin0 -> 4304 bytes
-rw-r--r--doxygen/img/Pmodel_fig6.gifbin0 -> 11996 bytes
-rw-r--r--doxygen/img/PropListClassInheritance.gifbin0 -> 17349 bytes
-rw-r--r--doxygen/img/PropListEcosystem.gifbin0 -> 3720 bytes
-rw-r--r--doxygen/img/Shared_Attribute.jpgbin0 -> 37209 bytes
-rw-r--r--doxygen/img/UML_Attribute.jpgbin0 -> 36134 bytes
-rw-r--r--doxygen/img/UML_FileAndProps.gifbin0 -> 6161 bytes
-rw-r--r--doxygen/img/VFL_Drivers.gifbin0 -> 17638 bytes
-rw-r--r--doxygen/img/dtypes_fig25b.gifbin0 -> 6634 bytes
151 files changed, 962 insertions, 576 deletions
diff --git a/doxygen/CMakeLists.txt b/doxygen/CMakeLists.txt
index e75c899..17d8da7 100644
--- a/doxygen/CMakeLists.txt
+++ b/doxygen/CMakeLists.txt
@@ -7,11 +7,12 @@ project (HDF5_DOXYGEN C)
if (DOXYGEN_FOUND)
set (DOXYGEN_PACKAGE ${HDF5_PACKAGE_NAME})
set (DOXYGEN_VERSION_STRING ${HDF5_PACKAGE_VERSION_STRING})
+ set (DOXYGEN_DIR ${HDF5_DOXYGEN_DIR})
set (DOXYGEN_INCLUDE_ALIASES_PATH ${HDF5_DOXYGEN_DIR})
set (DOXYGEN_INCLUDE_ALIASES aliases)
set (DOXYGEN_VERBATIM_VARS DOXYGEN_INCLUDE_ALIASES)
set (DOXYGEN_PROJECT_LOGO ${HDF5_DOXYGEN_DIR}/img/HDFG-logo.png)
- set (DOXYGEN_PROJECT_BRIEF "C-API Reference")
+ set (DOXYGEN_PROJECT_BRIEF "API Reference")
set (DOXYGEN_INPUT_DIRECTORY "${HDF5_SOURCE_DIR} ${HDF5_DOXYGEN_DIR}/dox ${HDF5_GENERATED_SOURCE_DIR}")
set (DOXYGEN_OPTIMIZE_OUTPUT_FOR_C YES)
set (DOXYGEN_MACRO_EXPANSION YES)
diff --git a/doxygen/Doxyfile.in b/doxygen/Doxyfile.in
index 6d82765..6f29c0b 100644
--- a/doxygen/Doxyfile.in
+++ b/doxygen/Doxyfile.in
@@ -874,6 +874,9 @@ FILE_PATTERNS = H5*public.h \
H5VLnative.h \
H5Zdevelop.h \
H5version.h \
+ H5*.java \
+ HDF*.java \
+ *.F90 \
*.dox
# The RECURSIVE tag can be used to specify whether or not subdirectories should
@@ -942,7 +945,7 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).
-IMAGE_PATH = @HDF5_DOXYGEN_DIR@/img
+IMAGE_PATH = @DOXYGEN_DIR@/img
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
diff --git a/doxygen/dox/DDLBNF110.dox b/doxygen/dox/DDLBNF110.dox
index f7e4267..6d6b67e 100644
--- a/doxygen/dox/DDLBNF110.dox
+++ b/doxygen/dox/DDLBNF110.dox
@@ -126,7 +126,7 @@ This section contains a brief explanation of the symbols used in the DDL.
<reference> ::= H5T_REFERENCE { <ref_type> }
-<ref_type> ::= H5T_STD_REF_OBJECT | H5T_STD_REF_DSETREG | H5T_STD_REF | UNDEFINED
+<ref_type> ::= H5T_STD_REF_OBJECT | H5T_STD_REF_DSETREG
<compound_type> ::= H5T_COMPOUND {
<member_type_def>+
diff --git a/doxygen/dox/Overview.dox b/doxygen/dox/Overview.dox
index 040769c..64e80c7 100644
--- a/doxygen/dox/Overview.dox
+++ b/doxygen/dox/Overview.dox
@@ -23,7 +23,7 @@ documents cover a mix of tasks, concepts, and reference, to help a specific
\par Versions
Version-specific documentation (see the version in the title area) can be found
here:
- - HDF5 <code>develop</code> branch (this site)
+ - HDF5 <code>1.12</code> branch (this site)
- <a href="https://docs.hdfgroup.org/hdf5/v1_12/index.html">HDF5 1.12.x</a>
- <a href="https://docs.hdfgroup.org/hdf5/v1_10/index.html">HDF5 1.10.x</a>
- <a href="https://docs.hdfgroup.org/hdf5/v1_8/index.html">HDF5 1.8.x</a>
@@ -36,10 +36,6 @@ documents cover a mix of tasks, concepts, and reference, to help a specific
\par Offline reading
You can <a href="hdf5-doc.tgz">download</a> it as a tgz archive for offline reading.
-\par History
- A snapshot (~April 2017) of the pre-Doxygen HDF5 documentation can be found
- <a href="https://docs.hdfgroup.org/archive/support/HDF5/doc/index.html">here</a>.
-
\par ToDo List
There is plenty of <a href="./todo.html">unfinished business</a>.
diff --git a/doxygen/dox/RFC.dox b/doxygen/dox/RFC.dox
index c16dcea..3cda309 100644
--- a/doxygen/dox/RFC.dox
+++ b/doxygen/dox/RFC.dox
@@ -88,4 +88,4 @@
<tr> <td>2004-08-11</td> <td>\ref_rfc20040811</td> <td></td> </tr>
</table>
-*/ \ No newline at end of file
+*/
diff --git a/doxygen/dox/ReferenceManual.dox b/doxygen/dox/ReferenceManual.dox
index ad10ba1..7900925 100644
--- a/doxygen/dox/ReferenceManual.dox
+++ b/doxygen/dox/ReferenceManual.dox
@@ -1,53 +1,32 @@
/** \page RM HDF5 Reference Manual
-The functions provided by the HDF5 C-API are grouped into the following
+The functions provided by the HDF5 API are grouped into the following
\Emph{modules}:
<table>
<tr><th>Modules</th></tr>
<tr valign="top">
<td>
-
<table>
-<tr><td style="border: none;">
-\li \ref H5A "Attributes (H5A)"
-\li \ref H5D "Datasets (H5D)"
-\li \ref H5S "Dataspaces (H5S)"
-\li \ref H5T "Datatypes (H5T)"
-\li \ref H5E "Error Handling (H5E)"
-\li \ref H5ES "Event Sets (H5ES)"
-\li \ref H5F "Files (H5F)"
-\li \ref H5Z "Filters (H5Z)"
-\li \ref H5G "Groups (H5G)"
-</td><td style="border: none;">
-\li \ref H5I "Identifiers (H5I)"
-\li \ref H5 "Library General (H5)"
-\li \ref H5L "Links (H5L)"
-\li \ref H5M "Maps (H5M)"
-\li \ref H5O "Objects (H5O)"
-\li \ref H5P "Property Lists (H5P)"
-\li \ref H5PL "Dynamically-loaded Plugins (H5PL)"
-\li \ref H5R "References (H5R)"
-\li \ref H5VL "Virtual Object Layer (H5VL)"
-</td><td style="border: none;">
-\li \ref high_level
- <ul>
- <li>\ref H5LT "Lite (H5LT, H5LD)"
- <li>\ref H5IM "Images (H5IM)"
- <li>\ref H5TB "Table (H5TB)"
- <li>\ref H5PT "Packet Table (H5PT)"
- <li>\ref H5DS "Dimension Scale (H5DS)"
- <li>\ref H5DO "Optimizations (H5DO)"
- <li>\ref H5LR "Extensions (H5LR, H5LT)"
- </ul>
-</td></tr>
-<tr><td colspan="3" style="border: none;">
-\a Core \a library: \ref H5 \ref H5A \ref H5D \ref H5E \ref H5ES \ref H5F \ref H5G \ref H5I \ref H5L
-\ref H5M \ref H5O \ref H5P \ref H5PL \ref H5R \ref H5S \ref H5T \ref H5VL \ref H5Z
-</td></tr>
-<tr><td colspan="3" style="border: none;">
-\a High-level \a library: \ref H5LT \ref H5IM \ref H5TB \ref H5PT \ref H5DS \ref H5DO \ref H5LR
-</td></tr>
+<tr valign="top"><td style="border: none;">
+\include{doc} core_menu.md
+</td>
+</tr>
+<tr valign="top"><td style="border: none;">
+<!-- High-level library -->
+\include{doc} high_level_menu.md
+</td>
+</tr>
+<tr valign="top"><td style="border: none;">
+<!-- Fortran library -->
+\include{doc} fortran_menu.md
+</td>
+</tr>
+<tr valign="top"><td style="border: none;">
+<!-- Java library -->
+\include{doc} java_menu.md
+</td>
+</tr>
<tr>
<td><a href="./deprecated.html">Deprecated functions</a></td>
<td>Functions with \ref ASYNC</td>
diff --git a/doxygen/dox/Specifications.dox b/doxygen/dox/Specifications.dox
index 5a36d61..e352f40 100644
--- a/doxygen/dox/Specifications.dox
+++ b/doxygen/dox/Specifications.dox
@@ -2,20 +2,20 @@
\section DDL
-\li \ref DDLBNF110 "DDL in BNF through HDF5 1.10"
-\li \ref DDLBNF112 "DDL in BNF for HDF5 1.12 and above"
+\li \ref DDLBNF110
+\li \ref DDLBNF112
\section File Format
-\li \ref FMT1 "HDF5 File Format Specification Version 1.0"
-\li \ref FMT11 "HDF5 File Format Specification Version 1.1"
-\li \ref FMT2 "HDF5 File Format Specification Version 2.0"
-\li \ref FMT3 "HDF5 File Format Specification Version 3.0"
+\li \ref FMT1
+\li \ref FMT11
+\li \ref FMT2
+\li \ref FMT3
\section Other
-\li \ref IMG "HDF5 Image and Palette Specification Version 1.2"
-\li \ref TBL "HDF5 Table Specification Version 1.0"
+\li \ref IMG
+\li \ref TBL
\li <a href="https://support.hdfgroup.org/HDF5/doc/HL/H5DS_Spec.pdf">
HDF5 Dimension Scale Specification</a>
diff --git a/doxygen/dox/TechnicalNotes.dox b/doxygen/dox/TechnicalNotes.dox
index 9bd2802..bca81e4 100644
--- a/doxygen/dox/TechnicalNotes.dox
+++ b/doxygen/dox/TechnicalNotes.dox
@@ -1,13 +1,13 @@
/** \page TN Technical Notes
-\li \link api-compat-macros API Compatibility Macros \endlink
-\li \ref APPDBG "Debugging HDF5 Applications"
-\li \ref FMTDISC "File Format Walkthrough"
-\li \ref FILTER "Filters"
-\li \ref IOFLOW "HDF5 Raw I/O Flow Notes"
-\li \ref TNMDC "Metadata Caching in HDF5"
-\li \ref MT "Thread Safe library"
-\li \ref VFL "Virtual File Layer"
+\li \ref api-compat-macros
+\li \ref APPDBG
+\li \ref FMTDISC
+\li \ref FILTER
+\li \ref IOFLOW
+\li \ref TNMDC
+\li \ref MT
+\li \ref VFL
*/
diff --git a/doxygen/dox/UsersGuide.dox b/doxygen/dox/UsersGuide.dox
new file mode 100644
index 0000000..6b44d21
--- /dev/null
+++ b/doxygen/dox/UsersGuide.dox
@@ -0,0 +1,400 @@
+/** \page UG HDF5 User Guide
+
+<center>
+HDF5 Release 1.12
+
+\image html HDFG-logo.png "The HDF Group"
+
+</center>
+
+\ref sec_data_model
+\li \ref subsec_data_model_intro
+\li \ref subsec_data_model_abstract
+ <ul>
+ <li> \ref subsubsec_data_model_abstract_file
+ <li> \ref subsubsec_data_model_abstract_group
+ <li> \ref subsubsec_data_model_abstract_dataset
+ <li> \ref subsubsec_data_model_abstract_space
+ <li> \ref subsubsec_data_model_abstract_type
+ <li> \ref subsubsec_data_model_abstract_attr
+ <li> \ref subsubsec_data_model_abstract_plist
+ <li> \ref subsubsec_data_model_abstract_link
+ </ul>
+\li \ref subsec_data_model_storage
+ <ul>
+ <li> \ref subsubsec_data_model_storage_spec
+ <li> \ref subsubsec_data_model_storage_imple
+ </ul>
+\li \ref subsec_data_model_structure
+ <ul>
+ <li> \ref subsubsec_data_model_structure_file
+ <li> \ref subsubsec_data_model_structure_path
+ <li> \ref subsubsec_data_model_structure_example
+ </ul>
+
+\ref sec_program
+\li \ref subsec_program_intro
+\li \ref subsec_program_model
+ <ul>
+ <li> \ref subsubsec_program_model_create
+ <li> \ref subsubsec_program_model_dset
+ <li> \ref subsubsec_program_model_close
+ <li> \ref subsubsec_program_model_data
+ <li> \ref subsubsec_program_model_partial
+ <li> \ref subsubsec_program_model_info
+ <li> \ref subsubsec_program_model_compound
+ <li> \ref subsubsec_program_model_extend
+ <li> \ref subsubsec_program_model_group
+ <li> \ref subsubsec_program_model_attr
+ </ul>
+\li \ref subsec_program_transfer_pipeline
+
+\ref sec_file
+\li \ref subsec_file_intro
+\li \ref subsec_file_access_modes
+\li \ref subsec_file_creation_access
+\li \ref subsec_file_drivers
+\li \ref subsec_file_program_model
+ <ul>
+ <li> \ref subsubsec_file_program_model_create
+ <li> \ref subsubsec_file_program_model_open
+ <li> \ref subsubsec_file_program_model_close
+ </ul>
+\li \ref subsec_file_h5dump
+\li \ref subsec_file_summary
+\li \ref subsec_file_create
+\li \ref subsec_file_closes
+\li \ref subsec_file_property_lists
+ <ul>
+ <li> \ref subsubsec_file_property_lists_create
+ <li> \ref subsubsec_file_property_lists_props
+ <li> \ref subsubsec_file_property_lists_access
+ </ul>
+\li \ref subsec_file_alternate_drivers
+ <ul>
+ <li> \ref subsubsec_file_alternate_drivers_id
+ <li> \ref subsubsec_file_alternate_drivers_sec2
+ <li> \ref subsubsec_file_alternate_drivers_direct
+ <li> \ref subsubsec_file_alternate_drivers_log
+ <li> \ref subsubsec_file_alternate_drivers_win
+ <li> \ref subsubsec_file_alternate_drivers_stdio
+ <li> \ref subsubsec_file_alternate_drivers_mem
+ <li> \ref subsubsec_file_alternate_drivers_family
+ <li> \ref subsubsec_file_alternate_drivers_multi
+ <li> \ref subsubsec_file_alternate_drivers_split
+ <li> \ref subsubsec_file_alternate_drivers_par
+ </ul>
+\li \ref subsec_file_examples
+ <ul>
+ <li> \ref subsubsec_file_examples_trunc
+ <li> \ref subsubsec_file_examples_props
+ <li> \ref subsubsec_file_examples_access
+ </ul>
+\li \ref subsec_file_multiple
+
+\ref sec_group
+\li \ref subsec_group_intro
+\li \ref subsec_group_descr
+ <ul>
+ <li> \ref subsubsec_group_descr_object
+ <li> \ref subsubsec_group_descr_model
+ <li> \ref subsubsec_group_descr_path
+ <li> \ref subsubsec_group_descr_impl
+ </ul>
+\li \ref subsec_group_h5dump
+\li \ref subsec_group_function
+\li \ref subsec_group_program
+ <ul>
+ <li> \ref subsubsec_group_program_create
+ <li> \ref subsubsec_group_program_open
+ <li> \ref subsubsec_group_program_dataset
+ <li> \ref subsubsec_group_program_close
+ <li> \ref subsubsec_group_program_links
+ <li> \ref subsubsec_group_program_info
+ <li> \ref subsubsec_group_program_objs
+ <li> \ref subsubsec_group_program_all
+ </ul>
+\li \ref subsec_group_examples
+
+\ref sec_dataset
+\li \ref subsec_dataset_intro
+\li \ref subsec_dataset_function
+\li \ref subsec_dataset_program
+ <ul>
+ <li> \ref subsubsec_dataset_program_general
+ <li> \ref subsubsec_dataset_program_create
+ <li> \ref subsubsec_dataset_program_transfer
+ <li> \ref subsubsec_dataset_program_read
+ </ul>
+\li \ref subsec_dataset_transfer Data Transfer
+ <ul>
+ <li> \ref subsubsec_dataset_transfer_pipe
+ <li> \ref subsubsec_dataset_transfer_filter
+ <li> \ref subsubsec_dataset_transfer_drive
+ <li> \ref subsubsec_dataset_transfer_props
+ <li> \ref subsubsec_dataset_transfer_store
+ <li> \ref subsubsec_dataset_transfer_partial
+ </ul>
+\li \ref subsec_dataset_allocation
+ <ul>
+ <li> \ref subsubsec_dataset_allocation_store
+ <li> \ref subsubsec_dataset_allocation_delete
+ <li> \ref subsubsec_dataset_allocation_release
+ <li> \ref subsubsec_dataset_allocation_ext
+ </ul>
+\li \ref subsec_dataset_filters
+ <ul>
+ <li> \ref subsubsec_dataset_filters_nbit
+ <li> \ref subsubsec_dataset_filters_scale
+ <li> \ref subsubsec_dataset_filters_szip
+ </ul>
+
+\ref sec_datatype
+\li \ref subsec_datatype_intro
+\li \ref subsec_datatype_model
+ <ul>
+ <li> \ref subsubsec_datatype_model_class
+ <li> \ref subsubsec_datatype_model_predefine
+ </ul>
+\li \ref subsec_datatype_usage
+ <ul>
+ <li> \ref subsubsec_datatype_usage_object
+ <li> \ref subsubsec_datatype_usage_create
+ <li> \ref subsubsec_datatype_usage_transfer
+ <li> \ref subsubsec_datatype_usage_discover
+ <li> \ref subsubsec_datatype_usage_user
+ </ul>
+\li \ref subsec_datatype_function
+\li \ref subsec_datatype_program
+ <ul>
+ <li> \ref subsubsec_datatype_program_discover
+ <li> \ref subsubsec_datatype_program_define
+ </ul>
+\li \ref subsec_datatype_other
+ <ul>
+ <li> \ref subsubsec_datatype_other_strings
+ <li> \ref subsubsec_datatype_other_refs
+ <li> \ref subsubsec_datatype_other_enum
+ <li> \ref subsubsec_datatype_other_opaque
+ <li> \ref subsubsec_datatype_other_bitfield
+ </ul>
+\li \ref subsec_datatype_fill
+\li \ref subsec_datatype_complex
+ <ul>
+ <li> \ref subsubsec_datatype_complex_create
+ <li> \ref subsubsec_datatype_complex_analyze
+ </ul>
+\li \ref subsec_datatype_life
+\li \ref subsec_datatype_transfer
+\li \ref subsec_datatype_text
+
+\ref sec_dataspace
+\li \ref subsec_dataspace_intro
+\li \ref subsec_dataspace_function
+\li \ref subsec_dataspace_program
+ <ul>
+ <li> \ref subsubsec_dataspace_program_object
+ <li> \ref subsubsec_dataspace_program_model
+ </ul>
+\li \ref subsec_dataspace_transfer
+ <ul>
+ <li> \ref subsubsec_dataspace_transfer_select
+ <li> \ref subsubsec_dataspace_transfer_model
+ </ul>
+\li \ref subsec_dataspace_select
+\li \ref subsec_dataspace_refer
+ <ul>
+ <li> \ref subsubsec_dataspace_refer_use
+ <li> \ref subsubsec_dataspace_refer_create
+ <li> \ref subsubsec_dataspace_refer_read
+ </ul>
+\li \ref subsec_dataspace_sample
+
+\ref sec_attribute
+\li \ref subsec_attribute_intro
+\li \ref subsec_attribute_program
+ <ul>
+ <li> <!-- \subsubsection subsubsec_attribute_program_exist --> To Open and Read or Write an Existing Attribute </li>
+ </ul>
+\li \ref subsec_error_H5A
+\li \ref subsec_attribute_work
+ <ul>
+ <li> \ref subsubsec_attribute_work_struct
+ <li> \ref subsubsec_attribute_work_create
+ <li> \ref subsubsec_attribute_work_access
+ <li> \ref subsubsec_attribute_work_info
+ <li> \ref subsubsec_attribute_work_iterate
+ <li> \ref subsubsec_attribute_work_delete
+ <li> \ref subsubsec_attribute_work_close
+ </ul>
+\li \ref subsec_attribute_special
+
+\ref sec_error
+\li \ref subsec_error_intro
+\li \ref subsec_error_program
+\li \ref subsec_error_H5E
+\li \ref subsec_error_ops
+ <ul>
+ <li> \ref subsubsec_error_ops_stack
+ <li> \ref subsubsec_error_ops_print
+ <li> \ref subsubsec_error_ops_mute
+ <li> \ref subsubsec_error_ops_custom_print
+ <li> \ref subsubsec_error_ops_walk
+ <li> \ref subsubsec_error_ops_travers
+ </ul>
+\li \ref subsec_error_adv
+ <ul>
+ <li> \ref subsubsec_error_adv_more
+ <li> \ref subsubsec_error_adv_app
+ </ul>
+
+\ref sec_plist
+\li \ref subsec_plist_intro
+\li \ref subsec_plist_class
+ <ul>
+ <li> \ref subsubsec_plist_class
+ <li> \ref subsubsec_plist_lists
+ <li> \ref subsubsec_plist_props
+ </ul>
+\li \ref subsec_plist_program
+ <ul>
+ <li> \ref subsubsec_plist_default
+ <li> \ref subsubsec_plist_basic
+ <li> \ref subsubsec_plist_additional
+ </ul>
+\li \ref subsec_plist_generic
+\li \ref subsec_plist_H5P
+\li \ref subsec_plist_resources
+\li \ref subsec_plist_notes
+
+\ref sec_vol
+\li \ref subsec_vol_intro
+\li \ref subsec_vol_abstract_layer
+\li \ref subsec_vol_connect
+\li \ref subsec_vol_use
+
+\ref sec_map
+
+\ref sec_addition
+
+\page AR_UG Additional Resources
+
+\section sec_addition Additional Resources
+These documents provide additional information for the use and tuning of specific HDF5 features.
+ <table style=" border-spacing:0; padding-left:6.00pt; padding-top:6.00pt; padding-right:6.00pt; padding-bottom:6.00pt; float:aligncenter; width:100%; max-width:432.00pt;" cellspacing="0">
+ <caption x-list-start="1" style="font-size: 12.0pt;">Table of Additional resources</caption>
+ <tr style="height: 23.00pt;">
+ <th style="width: 234.000pt; border-top-style: solid; border-top-width: 1px; border-top-color: #228a22; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align : top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Document</p>
+</th>
+ <th style="width: 198.000pt; border-top-style: solid; border-top-width: 1px; border-top-color: #228a22; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align : top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Comments</p>
+</th>
+</tr>
+ <tr style="height: 23.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/examples/">HDF5 Examples</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Code examples by API. </p>
+</td>
+</tr>
+ <tr style="height: 36.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/Chunking/index.html">Chunking in HDF5</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Structuring the use of chunking and tuning it for performance.</p>
+</td>
+</tr>
+ <tr style="height: 36.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span class="FM_LT_LinkText"><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/DirectChunkWrite/UsingDirectChunkWrite.pdf">Using the Direct Chunk Write Function</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Describes another way that chunks can be written to datasets.</p>
+</td>
+</tr>
+ <tr style="height: 88.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/CommittedDatatypeCopying/CopyingCommittedDatatypesWithH5Ocopy.pdf">Copying Committed Datatypes with H5Ocopy</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Describes how to copy to another file a dataset that uses a committed datatype or an object with an attribute that uses a committed datatype so that the committed datatype in the destination file can be used by multiple objects.</p>
+</td>
+</tr>
+ <tr style="height: 36.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/MetadataCache/index.html">Metadata Caching in HDF5</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Managing the HDF5 metadata cache and tuning it for performance.</p>
+</td>
+</tr>
+ <tr style="height: 49.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf">HDF5 Dynamically Loaded Filters</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Describes how an HDF5 application can apply a filter that is not registered with the HDF5 Library.</p>
+</td>
+</tr>
+ <tr style="height: 62.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/FileImageOperations/HDF5FileImageOperations.pdf">HDF5 File Image Operations</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Describes how to work with HDF5 files in memory. Disk I/O is not required when file images are opened, created, read from, or written to.</p>
+</td>
+</tr>
+ <tr style="height: 62.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/ModifiedRegionWrites/ModifiedRegionWrites.pdf">Modified Region Writes</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Describes how to set write operations for in-memory files so that only modified regions are written to storage. Available when the Core (Memory) VFD is used.</p>
+</td>
+</tr>
+ <tr style="height: 36.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/UsingIdentifiers/index.html">Using Identifiers</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Describes how identifiers behave and how they should be treated.</p>
+</td>
+</tr>
+ <tr style="height: 36.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/UsingUnicode/index.html">Using UTF-8 Encoding in HDF5 Applications</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Describes the use of UTF-8 Unicode character encodings in HDF5 applications.</p>
+</td>
+</tr>
+ <tr style="height: 49.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Advanced/FreeingMemory/FreeingMemoryAllocatedByTheHdf5Library.pdf">Freeing Memory Allocated by the HDF5 Library</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>Describes how inconsistent memory management can cause heap corruption or resource leaks and possible solutions.</p>
+</td>
+</tr>
+ <tr style="height: 23.00pt;">
+ <td style="width: 234.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p style="font-style: italic; color: #0000ff;"><span><a href="http://www.hdfgroup.org/HDF5/doc/Glossary.html">HDF5 Glossary</a></span></p>
+</td>
+ <td style="width: 198.000pt; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #228a22; vertical-align: top;padding-left: 6.00pt; padding-top: 3.00pt; padding-right: 6.00pt; padding-bottom: 3.00pt;">
+ <p>A glossary of terms.</p>
+</td>
+</tr>
+ </table>
+
+Previous Chapter \ref sec_plist
+
+\par Don't like what you see? - You can help to improve this User Guide
+ Complete the survey linked near the top of this page!\n
+ We treat documentation like code: Fork the
+ <a href="https://github.com/HDFGroup/hdf5">HDF5 repo</a>, make changes, and create a
+ <a href="https://github.com/HDFGroup/hdf5/pulls">pull request</a> !\n
+
+*/ \ No newline at end of file
diff --git a/doxygen/dox/high_level/extension.dox b/doxygen/dox/high_level/extension.dox
index c81ac6e..e8471b9 100644
--- a/doxygen/dox/high_level/extension.dox
+++ b/doxygen/dox/high_level/extension.dox
@@ -1,60 +1,48 @@
/** \defgroup H5LR Extensions
*
- * <em>Working with region references, hyperslab selections,
+ * <em>Working with region references, hyperslab selections,
* and bit-fields (H5LR, H5LT)</em>
*
- * The following reference manual entries describe high-level HDF5 C and Fortran APIs
- * for working with region references, hyperslab selections, and bit-fields.
- * These functions were created as part of a project supporting
+ * The following reference manual entries describe high-level HDF5 C and Fortran APIs
+ * for working with region references, hyperslab selections, and bit-fields.
+ * These functions were created as part of a project supporting
* NPP/NPOESS Data Production and Exploitation (
* <a href="https://support.hdfgroup.org/projects/jpss/documentation">
- * project </a>,
- * <a href="https://gamma.hdfgroup.org/ftp/pub/outgoing/NPOESS/source">
- * software </a>).
- * While they were written to facilitate access to NPP, NPOESS, and JPSS
- * data in the HDF5 format, these functions may be useful to anyone working
+ * project</a>, software).
+ * While they were written to facilitate access to NPP, NPOESS, and JPSS
+ * data in the HDF5 format, these functions may be useful to anyone working
* with region references, hyperslab selections, or bit-fields.
*
- * Note that these functions are not part of the standard HDF5 distribution;
- * the
- * <a href="https://gamma.hdfgroup.org/ftp/pub/outgoing/NPOESS/source">
- * software </a>
- * must be separately downloaded and installed.
+ * Note that these functions are not part of the standard HDF5 distribution;
+ * the software must be separately downloaded and installed.
*
- * A comprehensive guide to this library,
- * <a href="https://support.hdfgroup.org/projects/jpss/documentation/HL/UG/NPOESS_HL-UG.pdf">
+ * A comprehensive guide to this library,
+ * <a href="https://support.hdfgroup.org/projects/jpss/documentation/HL/UG/NPOESS_HL-UG.pdf">
* <em>User Guide to the HDF5 High-level Library for Handling Region References and Hyperslab Selections</em></a>
- * is available at
+ * is available at
* https://support.hdfgroup.org/projects/jpss/documentation/HL/UG/NPOESS_HL-UG.pdf.
*
* - \ref H5LRcopy_reference
- * \n Copies data from the specified dataset to a new location and
- * creates a reference to it.
+ * \n Copies data from the specified dataset to a new location and creates a reference to it.
* - \ref H5LRcopy_region
- * \n Copies data from a referenced region to a region in a
- * destination dataset.
+ * \n Copies data from a referenced region to a region in a destination dataset.
* - \ref H5LRcreate_ref_to_all
- * \n Creates a dataset with the region references to the data in all
- * datasets located under a specified group in a file or creates a
- * dataset with object references to all objects (groups or datasets)
+ * \n Creates a dataset with the region references to the data in all datasets located under a
+ * specified group in a file or creates a dataset with object references to all objects (groups or datasets)
* located under a specified group in a file.
* - \ref H5LRcreate_region_references
- * \n Creates an array of region references using an array of paths to
+ * \n Creates an array of region references using an array of paths to
* datasets and an array of corresponding hyperslab descriptions.
* - \ref H5LRget_region_info
* \n Retrieves information about the data a region reference points to.
* - \ref H5LRmake_dataset
- * \n Creates and writes a dataset containing a list of
- * region references.
+ * \n Creates and writes a dataset containing a list of region references.
* - \ref H5LRread_region
- * \n Retrieves raw data pointed to by a region reference to
- * an application buffer.
+ * \n Retrieves raw data pointed to by a region reference to an application buffer.
* - \ref H5LTcopy_region
- * \n Copies data from a specified region in a source dataset
- * to a specified region in a destination dataset.
+ * \n Copies data from a specified region in a source dataset to a specified region in a destination dataset.
* - \ref H5LTread_bitfield_value
- * \n Retrieves the values of quality flags for each element
- * to the application provided buffer.
+ * \n Retrieves the values of quality flags for each element to the application provided buffer.
* - \ref H5LTread_region
* \n Reads selected data to an application buffer.
*
@@ -77,24 +65,24 @@
* \param[in] path Path to the dataset being created
* \param[in] type_id Datatype of the dataset
* \param[in] buf_size Size of the \p loc_id_ref and \p buf arrays
- * \param[in] loc_id_ref Array of object identifiers; each identifier
- * describes to which HDF5 file the corresponding
+ * \param[in] loc_id_ref Array of object identifiers; each identifier
+ * describes to which HDF5 file the corresponding
* region reference belongs to
* \param[in] buf Array of region references
*
* \return \herr_t
*
- * \details Given an array of size \p buf_size of region references \p buf,
- * the function will create a dataset with path \p path, at location
- * specified by \p loc_id and of a datatype specified by \p type_id,
- * and will write data associated with each region reference in the order
- * corresponding to the order of the region references in the buffer.
- * It is assumed that all referenced hyperslabs have the same dimensionality,
- * and only the size of the slowest changing dimension may differ.
- * Each reference in the \p buf array belongs to the file identified
+ * \details Given an array of size \p buf_size of region references \p buf,
+ * the function will create a dataset with path \p path, at location
+ * specified by \p loc_id and of a datatype specified by \p type_id,
+ * and will write data associated with each region reference in the order
+ * corresponding to the order of the region references in the buffer.
+ * It is assumed that all referenced hyperslabs have the same dimensionality,
+ * and only the size of the slowest changing dimension may differ.
+ * Each reference in the \p buf array belongs to the file identified
* by the corresponding object identifiers in the array \p loc_id_ref.
*
- * If \p path does not exist in \p loc_id then the function will
+ * If \p path does not exist in \p loc_id then the function will
* create the path specified by \p path automatically.
*
* \version 1.1 Fortran wrapper introduced in this release.
@@ -103,10 +91,10 @@
*
*/
H5_HLRDLL herr_t H5LRmake_dataset(hid_t loc_id,
- const char *path,
- hid_t type_id, const size_t buf_size,
- const hid_t *loc_id_ref,
- const hdset_reg_ref_t *buf);
+ const char *path,
+ hid_t type_id, const size_t buf_size,
+ const hid_t *loc_id_ref,
+ const hdset_reg_ref_t *buf);
/*-------------------------------------------------------------------------
*
@@ -119,49 +107,46 @@ H5_HLRDLL herr_t H5LRmake_dataset(hid_t loc_id,
* --------------------------------------------------------------------------
* \ingroup H5LR
*
- * \brief Creates an array of region references using an array of paths to
+ * \brief Creates an array of region references using an array of paths to
* datasets and an array of corresponding hyperslab descriptions.
*
* \param[in] obj_id File identifier for the HDF5 file containing
* the referenced regions or an object identifier
* for any object in that file
- * \param[in] num_elem Number of elements in the \p path and
- * \p buf arrays
- * \param[in] path Array of pointers to strings, which contain
- * the paths to the target datasets for the
- * region references
+ * \param[in] num_elem Number of elements in the \p path and \p buf arrays
+ * \param[in] path Array of pointers to strings, which contain
+ * the paths to the target datasets for the region references
* \param[in] block_coord Array of hyperslab coordinate
- * \param[out] buf Buffer for returning an array of region
- * references
+ * \param[out] buf Buffer for returning an array of region references
*
* \return \herr_t
*
* \note **Motivation:**
- * \note H5LRcreate_region_references() is useful when creating
+ * \note H5LRcreate_region_references() is useful when creating
* large numbers of similar region references.
*
- * \details H5LRcreate_region_references() creates a list of region references
- * given an array of paths to datasets and another array listing the
+ * \details H5LRcreate_region_references() creates a list of region references
+ * given an array of paths to datasets and another array listing the
* corner coordinates of the corresponding hyperslabs.
*
* \p path parameter is an array of pointers to strings.
*
- * \p num_elem specifies the number of region references to be created,
+ * \p num_elem specifies the number of region references to be created,
* thus specifying the size of the \p path and \p _buf arrays.
*
- * Buffer \p block_coord has size 2*rank and is the coordinates of the
- * starting point following by the coordinates of the ending point of
- * the hyperslab, repeated \p num_elem times for each hyperslab.
- * For example, creating two region references to two hyperslabs,
- * one with a rectangular hyperslab region starting at element (2,2)
- * to element (5,4) and the second rectangular region starting at
- * element (7,7) to element (9,10), results in \p block_coord
+ * Buffer \p block_coord has size 2*rank and is the coordinates of the
+ * starting point following by the coordinates of the ending point of
+ * the hyperslab, repeated \p num_elem times for each hyperslab.
+ * For example, creating two region references to two hyperslabs,
+ * one with a rectangular hyperslab region starting at element (2,2)
+ * to element (5,4) and the second rectangular region starting at
+ * element (7,7) to element (9,10), results in \p block_coord
* being {2,2,5,4, 7,7,9,10}.
*
- * The rank of the hyperslab will be the same as the rank of the
- * target dataset. H5LRcreate_region_references() will retrieve
- * the rank for each dataset and will use those values to interpret
- * the values in the buffer. Please note that rank may vary from one
+ * The rank of the hyperslab will be the same as the rank of the
+ * target dataset. H5LRcreate_region_references() will retrieve
+ * the rank for each dataset and will use those values to interpret
+ * the values in the buffer. Please note that rank may vary from one
* dataset to another.
*
* \version 1.1 Fortran wrapper introduced in this release.
@@ -170,43 +155,39 @@ H5_HLRDLL herr_t H5LRmake_dataset(hid_t loc_id,
*
*/
H5_HLRDLL herr_t H5LRcreate_region_references(hid_t obj_id,
- size_t num_elem,
- const char **path,
- const hsize_t *block_coord,
- hdset_reg_ref_t *buf);
+ size_t num_elem,
+ const char **path,
+ const hsize_t *block_coord,
+ hdset_reg_ref_t *buf);
/**
* --------------------------------------------------------------------------
* \ingroup H5LR
*
- * \brief Copies data from the specified dataset to a new location and
- * creates a reference to it.
+ * \brief Copies data from the specified dataset to a new location and creates a reference to it.
*
- * \param[in] obj_id Identifier of any object in a file an
- * HDF5 reference belongs to
+ * \param[in] obj_id Identifier of any object in a file an HDF5 reference belongs to
* \param[in] ref Reference to the datasets region
- * \param[in] file Name of the destination file
+ * \param[in] file Name of the destination file
* \param[in] path Full path to the destination dataset
- * \param[in] block_coord Hyperslab coordinates in the destination
- * dataset
- * \param[out] ref_new Region reference to the new location of
- * data
+ * \param[in] block_coord Hyperslab coordinates in the destination dataset
+ * \param[out] ref_new Region reference to the new location of data
*
* \return \herr_t
*
- * \details Given a data set pointed to by a region reference, the function
- * H5LRcopy_reference() will copy the hyperslab data referenced by
- * a datasets region reference into existing dataset specified by
- * its path \p path in the file with the name \p file, and to location
- * specified by the hyperslab coordinates \p block_coord. It will
- * create the region reference \p ref_new to point to the new location.
- * The number of elements in the old and newly specified regions has
+ * \details Given a data set pointed to by a region reference, the function
+ * H5LRcopy_reference() will copy the hyperslab data referenced by
+ * a datasets region reference into existing dataset specified by
+ * its path \p path in the file with the name \p file, and to location
+ * specified by the hyperslab coordinates \p block_coord. It will
+ * create the region reference \p ref_new to point to the new location.
+ * The number of elements in the old and newly specified regions has
* to be the same.
*
- * Buffer \p block_coord has size 2*rank and is the coordinates of
- * the starting point following by the coordinates of the ending
- * point of the hyperslab. For example, to extract a rectangular
- * hyperslab region starting at element (2,2) to element (5,4)
+ * Buffer \p block_coord has size 2*rank and is the coordinates of
+ * the starting point following by the coordinates of the ending
+ * point of the hyperslab. For example, to extract a rectangular
+ * hyperslab region starting at element (2,2) to element (5,4)
* then \p block_coord would be {2, 2, 5, 4}.
*
* \version 1.1 Fortran wrapper introduced in this release.
@@ -215,41 +196,39 @@ H5_HLRDLL herr_t H5LRcreate_region_references(hid_t obj_id,
*
*/
H5_HLRDLL herr_t H5LRcopy_reference(hid_t obj_id, hdset_reg_ref_t *ref, const char *file,
- const char *path, const hsize_t *block_coord,
- hdset_reg_ref_t *ref_new);
+ const char *path, const hsize_t *block_coord,
+ hdset_reg_ref_t *ref_new);
/**
* --------------------------------------------------------------------------
* \ingroup H5LR
*
- * \brief Copies data from a referenced region to a region in a
- * destination dataset.
+ * \brief Copies data from a referenced region to a region in a destination dataset.
*
- * \param[in] obj_id Identifier of any object in a file
+ * \param[in] obj_id Identifier of any object in a file
* dataset region reference belongs to
* \param[in] ref Dataset region reference
- * \param[in] file Name of the destination file
+ * \param[in] file Name of the destination file
* \param[in] path Full path to the destination dataset
- * \param[in] block_coord Hyperslab coordinates in the destination
- * dataset
+ * \param[in] block_coord Hyperslab coordinates in the destination dataset
*
* \return \herr_t
*
- * \details Given a dataset region reference \p ref in a source file
- * specified by an identifier of any object in that file
- * \p obj_id, the function will write data to the existing
- * dataset \p path in file \p file to the simple hyperslab
+ * \details Given a dataset region reference \p ref in a source file
+ * specified by an identifier of any object in that file
+ * \p obj_id, the function will write data to the existing
+ * dataset \p path in file \p file to the simple hyperslab
* specified by \p block_coord.
*
- * Buffer \p block_coord has size 2*rank and is the coordinates
- * of the starting point following by the coordinates of the
- * ending point of the hyperslab. For example, to specify a
- * rectangular hyperslab destination region starting at element
+ * Buffer \p block_coord has size 2*rank and is the coordinates
+ * of the starting point following by the coordinates of the
+ * ending point of the hyperslab. For example, to specify a
+ * rectangular hyperslab destination region starting at element
* (2,2) to element (5,4) then \p block_coord would be {2, 2, 5, 4}.
*
- * If \p path does not exist in the destination file (as may be
- * the case when writing to a new file) then the dataset will be
- * copied directly to the \p path and \p block_coord will be
+ * If \p path does not exist in the destination file (as may be
+ * the case when writing to a new file) then the dataset will be
+ * copied directly to the \p path and \p block_coord will be
* disregarded.
*
* \version 1.1 Fortran wrapper introduced in this release.
@@ -258,71 +237,66 @@ H5_HLRDLL herr_t H5LRcopy_reference(hid_t obj_id, hdset_reg_ref_t *ref, const ch
*
*/
H5_HLRDLL herr_t H5LRcopy_region(hid_t obj_id,
- hdset_reg_ref_t *ref,
- const char *file,
- const char *path,
- const hsize_t *block_coord);
+ hdset_reg_ref_t *ref,
+ const char *file,
+ const char *path,
+ const hsize_t *block_coord);
/**
* --------------------------------------------------------------------------
* \ingroup H5LR
*
- * \brief Creates a dataset with the region references to the data
- * in all datasets located under a specified group in a file
- * or creates a dataset with object references to all objects
+ * \brief Creates a dataset with the region references to the data
+ * in all datasets located under a specified group in a file
+ * or creates a dataset with object references to all objects
* (groups or datasets) located under a specified group in a file.
*
* \fg_loc_id
- * \param[in] group_path Absolute or relative path to the group
- * at which traversal starts
- * \param[in] ds_path Absolute or relative path to the dataset
- * with region references to be created
- * \param[in] index_type Index_type;
- * see valid values below in description
- * \param[in] order Order in which index is traversed;
- * see valid values below in description
- * \param[in] ref_type Reference type;
- * see valid values below in description
+ * \param[in] group_path Absolute or relative path to the group at which traversal starts
+ * \param[in] ds_path Absolute or relative path to the dataset with region references to be created
+ * \param[in] index_type Index_type; see valid values below in description
+ * \param[in] order Order in which index is traversed; see valid values below in description
+ * \param[in] ref_type Reference type; see valid values below in description
*
* \return \herr_t
*
- * \details H5LRcreate_ref_to_all() creates a dataset with the
- * region references to the data in all datasets located
- * under a specified group in a file or creates a dataset with
- * object references to all objects (groups or datasets) located
+ * \details H5LRcreate_ref_to_all() creates a dataset with the
+ * region references to the data in all datasets located
+ * under a specified group in a file or creates a dataset with
+ * object references to all objects (groups or datasets) located
* under a specified group in a file.
*
- * Given a dataset path \p ds_path in a file specified by the
- * \p loc_id identifier, the function H5LRcreate_ref_to_all()
- * will create a contiguous one-dimensional dataset with the
- * region references or object references depending on the value
- * of the \p ref_type parameter. When \p ref_type is
- * #H5R_DATASET_REGION, each region reference points to all data
- * in a dataset encountered by an internally called H5Lvisit()
- * routine, which starts at the group specified by the \p loc_id
+ * Given a dataset path \p ds_path in a file specified by the
+ * \p loc_id identifier, the function H5LRcreate_ref_to_all()
+ * will create a contiguous one-dimensional dataset with the
+ * region references or object references depending on the value
+ * of the \p ref_type parameter. When \p ref_type is
+ * #H5R_DATASET_REGION, each region reference points to all data
+ * in a dataset encountered by an internally called H5Lvisit()
+ * routine, which starts at the group specified by the \p loc_id
* and \p group_path parameters. In a like manner, when
- * \p ref_type is #H5R_OBJECT, each object reference points to
+ * \p ref_type is #H5R_OBJECT, each object reference points to
* an object (a group or a dataset) encountered by H5Lvisit().
*
- * If \p ds_path does not exist in \p loc_id then the function
+ * If \p ds_path does not exist in \p loc_id then the function
* will create the path specified by \p ds_path automatically.
*
- * \p index_type specifies the index to be used.
+ * \p index_type specifies the index to be used.
* Valid values include the following:
* - #H5_INDEX_NAME Alphanumeric index on name
* - #H5_INDEX_CRT_ORDER Index on creation order
*
- * \p order specifies the order in which objects are to be
- * inspected along the index specified in \p index_type.
+ * \p order specifies the order in which objects are to be
+ * inspected along the index specified in \p index_type.
* Valid values include the following:
* - #H5_ITER_INC Increasing order
* - #H5_ITER_DEC Decreasing order
* - #H5_ITER_NATIVE Fastest available order
*
- * For more detailed information on these two parameters,
- * see H5Lvisit().
+ * For more detailed information on these two parameters,
+ * @see H5Lvisit().
*
- * \p ref_type specifies the type of the reference to be used.
+ * \p ref_type specifies the type of the reference to be used.
* Valid values include the following:
* - #H5R_DATASET_REGION Dataset region reference
* - #H5R_OBJECT Object reference
@@ -333,7 +307,7 @@ H5_HLRDLL herr_t H5LRcopy_region(hid_t obj_id,
*
*/
H5_HLRDLL herr_t H5LRcreate_ref_to_all(hid_t loc_id, const char *group_path,
- const char *ds_path, H5_index_t index_type, H5_iter_order_t order, H5R_type_t ref_type);
+ const char *ds_path, H5_index_t index_type, H5_iter_order_t order, H5R_type_t ref_type);
/*-------------------------------------------------------------------------
*
@@ -352,30 +326,27 @@ H5_HLRDLL herr_t H5LRcreate_ref_to_all(hid_t loc_id, const char *group_path,
* \param[in] obj_id File identifier for the HDF5 file containing
* the dataset with the referenced region or an
* object identifier for any object in that file
- * \param[in] ref Region reference specifying data to be read
- * in
- * \param[in] mem_type Memory datatype of data read from referenced
+ * \param[in] ref Region reference specifying data to be read in
+ * \param[in] mem_type Memory datatype of data read from referenced
* region into the application buffer
- * \param[in,out] numelem Number of elements to be read into buffer
- * \p buf
- * \param[out] buf Buffer in which data is returned to the
- * application
+ * \param[in,out] numelem Number of elements to be read into buffer \p buf
+ * \param[out] buf Buffer in which data is returned to the application
*
* \return \herr_t
*
- * \details H5LRread_region() reads data pointed to by the region
+ * \details H5LRread_region() reads data pointed to by the region
* reference \p ref into the buffer \p buf.
*
- * \p numelem specifies the number of elements to be read
- * into \p buf. When the size of the reference region is unknown,
- * H5LRread_region() can be called with \p buf set to NULL;
- * the number of elements in the referenced region will be returned
+ * \p numelem specifies the number of elements to be read
+ * into \p buf. When the size of the reference region is unknown,
+ * H5LRread_region() can be called with \p buf set to NULL;
+ * the number of elements in the referenced region will be returned
* in \p numelem.
*
- * The buffer buf must be big enough to hold \p numelem elements
- * of type \p mem_type. For example, if data is read from the referenced
- * region into an integer buffer, \p mem_type should be #H5T_NATIVE_INT
- * and the buffer must be at least \c sizeof(int) * \p numelem bytes
+ * The buffer buf must be big enough to hold \p numelem elements
+ * of type \p mem_type. For example, if data is read from the referenced
+ * region into an integer buffer, \p mem_type should be #H5T_NATIVE_INT
+ * and the buffer must be at least \c sizeof(int) * \p numelem bytes
* in size. This buffer must be allocated by the application.
*
* \version 1.1 Fortran wrapper introduced in this release.
@@ -384,10 +355,10 @@ H5_HLRDLL herr_t H5LRcreate_ref_to_all(hid_t loc_id, const char *group_path,
*
*/
H5_HLRDLL herr_t H5LRread_region(hid_t obj_id,
- const hdset_reg_ref_t *ref,
- hid_t mem_type,
- size_t *numelem,
- void *buf );
+ const hdset_reg_ref_t *ref,
+ hid_t mem_type,
+ size_t *numelem,
+ void *buf );
/*-------------------------------------------------------------------------
*
@@ -400,40 +371,33 @@ H5_HLRDLL herr_t H5LRread_region(hid_t obj_id,
* --------------------------------------------------------------------------
* \ingroup H5LR
*
- * \brief Retrieves information about the data a region reference
- * points to.
+ * \brief Retrieves information about the data a region reference points to.
*
- * \param[in] obj_id Identifier of any object in an HDF5 file
- * the region reference belongs to.
+ * \param[in] obj_id Identifier of any object in an HDF5 file the region reference belongs to.
* \param[in] ref Region reference to query
- * \param[in,out] len Size of the buffer to store \p path in.
- * NOTE: if \p *path is not NULL then \p *len
- * must be the appropriate length
+ * \param[in,out] len Size of the buffer to store \p path in.
+ * NOTE: if \p *path is not NULL then \p *len must be the appropriate length
* \param[out] path Full path that a region reference points to
* \param[out] rank The number of dimensions of the dataset
- * dimensions of the dataset pointed by
- * region reference.
- * \param[out] dtype Datatype of the dataset pointed by the
- * region reference.
+ * dimensions of the dataset pointed by region reference.
+ * \param[out] dtype Datatype of the dataset pointed by the region reference.
* \param[out] sel_type Type of the selection (point or hyperslab)
- * \param[in,out] numelem Number of coordinate blocks or
- * selected elements.
- * \param[out] buf Buffer containing description of the region
- * pointed by region reference
+ * \param[in,out] numelem Number of coordinate blocks or selected elements.
+ * \param[out] buf Buffer containing description of the region pointed by region reference
*
* \return \herr_t
*
- * \details H5LRget_region_info() queries information about the data
- * pointed by a region reference \p ref. It returns one of the
- * absolute paths to a dataset, length of the path, dataset’s rank
- * and datatype, description of the referenced region and type of
- * the referenced region. Any output argument can be NULL if that
+ * \details H5LRget_region_info() queries information about the data
+ * pointed by a region reference \p ref. It returns one of the
+ * absolute paths to a dataset, length of the path, dataset’s rank
+ * and datatype, description of the referenced region and type of
+ * the referenced region. Any output argument can be NULL if that
* argument does not need to be returned.
*
- * The parameter \p obj_id is an identifier for any object in the
- * HDF5 file containing the referenced object. For example, it can
- * be an identifier of a dataset the region reference belongs to
- * or an identifier of an HDF5 file the dataset with region references
+ * The parameter \p obj_id is an identifier for any object in the
+ * HDF5 file containing the referenced object. For example, it can
+ * be an identifier of a dataset the region reference belongs to
+ * or an identifier of an HDF5 file the dataset with region references
* is stored in.
*
* The parameter \p ref is a region reference to query.
@@ -442,36 +406,36 @@ H5_HLRDLL herr_t H5LRread_region(hid_t obj_id,
* buffer of size \p len+1 to return an absolute path to a dataset
* the region reference points to.
*
- * The parameter \p len is a length of absolute path string plus
- * the \0 string terminator. If path parameter is NULL, actual
- * length of the path (+1 for \0 string terminator) is returned to
- * application and can be used to allocate buffer path of an
+ * The parameter \p len is a length of absolute path string plus
+ * the \0 string terminator. If path parameter is NULL, actual
+ * length of the path (+1 for \0 string terminator) is returned to
+ * application and can be used to allocate buffer path of an
* appropriate length \p len.
*
* The parameter \p sel_type describes the type of the selected
- * region. Possible values can be #H5S_SEL_POINTS for point
+ * region. Possible values can be #H5S_SEL_POINTS for point
* selection and #H5S_SEL_HYPERSLABS for hyperslab selection.
*
- * The parameter \p numelem describes how many elements will be
- * placed in the buffer \p buf. The number should be interpreted
+ * The parameter \p numelem describes how many elements will be
+ * placed in the buffer \p buf. The number should be interpreted
* using the value of \p sel_type.
*
- * If value of \p sel_type is #H5S_SEL_HYPERSLABS, the parameter
- * \p buf contains \p numelem blocks of the coordinates for each
- * simple hyperslab of the referenced region. Each block has
- * length \c 2*\p rank and is organized as follows: <"start" coordinate>,
- * immediately followed by <"opposite" corner coordinate>.
- * The total size of the buffer to hold the description of the
- * region will be \c 2*\p rank*\p numelem. If region reference
- * points to a contiguous sub-array, then the value of \p numelem
- * is 1 and the block contains coordinates of the upper left and
+ * If value of \p sel_type is #H5S_SEL_HYPERSLABS, the parameter
+ * \p buf contains \p numelem blocks of the coordinates for each
+ * simple hyperslab of the referenced region. Each block has
+ * length \c 2*\p rank and is organized as follows: <"start" coordinate>,
+ * immediately followed by <"opposite" corner coordinate>.
+ * The total size of the buffer to hold the description of the
+ * region will be \c 2*\p rank*\p numelem. If region reference
+ * points to a contiguous sub-array, then the value of \p numelem
+ * is 1 and the block contains coordinates of the upper left and
* lower right corners of the sub-array (or simple hyperslab).
*
- * If value of \p sel_type is #H5S_SEL_POINTS, the parameter \p buf
- * contains \p numelem blocks of the coordinates for each selected
- * point of the referenced region. Each block has length \p rank
- * and contains coordinates of the element. The total size of the
- * buffer to hold the description of the region will be
+ * If value of \p sel_type is #H5S_SEL_POINTS, the parameter \p buf
+ * contains \p numelem blocks of the coordinates for each selected
+ * point of the referenced region. Each block has length \p rank
+ * and contains coordinates of the element. The total size of the
+ * buffer to hold the description of the region will be
* \p rank* \p numelem.
*
*
@@ -481,14 +445,14 @@ H5_HLRDLL herr_t H5LRread_region(hid_t obj_id,
*
*/
H5_HLRDLL herr_t H5LRget_region_info(hid_t obj_id,
- const hdset_reg_ref_t *ref,
- size_t *len,
- char *path,
- int *rank,
- hid_t *dtype,
- H5S_sel_type *sel_type,
- size_t *numelem,
- hsize_t *buf );
+ const hdset_reg_ref_t *ref,
+ size_t *len,
+ char *path,
+ int *rank,
+ hid_t *dtype,
+ H5S_sel_type *sel_type,
+ size_t *numelem,
+ hsize_t *buf );
@@ -503,35 +467,33 @@ H5_HLRDLL herr_t H5LRget_region_info(hid_t obj_id,
* --------------------------------------------------------------------------
* \ingroup H5LR
*
- * \brief Copies data from a specified region in a source dataset
+ * \brief Copies data from a specified region in a source dataset
* to a specified region in a destination dataset
*
* \param[in] file_src Name of the source file
* \param[in] path_src Full path to the source dataset
- * \param[in] block_coord_src Hyperslab coordinates in the
- * source dataset
+ * \param[in] block_coord_src Hyperslab coordinates in the source dataset
* \param[in] file_dest Name of the destination file
* \param[in] path_dest Full path to the destination dataset
- * \param[in] block_coord_dset Hyperslab coordinates in the
- * destination dataset
+ * \param[in] block_coord_dset Hyperslab coordinates in the destination dataset
*
* \return \herr_t
*
- * \details Given a path to a dataset \p path_src in a file with the
- * name \p file_src, and description of a simple hyperslab of
- * the source \p block_coord_src, the function will write data
- * to the dataset \p path_dest in file \p file_dest to the
- * simple hyperslab specified by \p block_coord_dset.
- * The arrays \p block_coord_src and \p block_coord_dset have
- * a length of 2*rank and are the coordinates of the starting
- * point following by the coordinates of the ending point of the
- * hyperslab. For example, to specify a rectangular hyperslab
- * destination region starting at element (2,2) to element (5,4)
+ * \details Given a path to a dataset \p path_src in a file with the
+ * name \p file_src, and description of a simple hyperslab of
+ * the source \p block_coord_src, the function will write data
+ * to the dataset \p path_dest in file \p file_dest to the
+ * simple hyperslab specified by \p block_coord_dset.
+ * The arrays \p block_coord_src and \p block_coord_dset have
+ * a length of 2*rank and are the coordinates of the starting
+ * point following by the coordinates of the ending point of the
+ * hyperslab. For example, to specify a rectangular hyperslab
+ * destination region starting at element (2,2) to element (5,4)
* then \p block_coord_dset would be {2, 2, 5, 4}.
*
- * If \p path_dest does not exist in the destination file
- * (as may be the case when writing to a new file) then the
- * dataset will be copied directly to the \p path_dest and
+ * If \p path_dest does not exist in the destination file
+ * (as may be the case when writing to a new file) then the
+ * dataset will be copied directly to the \p path_dest and
* \p block_coord_dset will be disregarded.
*
* \version 1.1 Fortran wrapper introduced in this release.
@@ -540,11 +502,11 @@ H5_HLRDLL herr_t H5LRget_region_info(hid_t obj_id,
*
*/
H5_HLRDLL herr_t H5LTcopy_region(const char *file_src,
- const char *path_src,
- const hsize_t *block_coord_src,
- const char *file_dest,
- const char *path_dest,
- const hsize_t *block_coord_dset);
+ const char *path_src,
+ const hsize_t *block_coord_src,
+ const char *file_dest,
+ const char *path_dest,
+ const hsize_t *block_coord_dset);
/*-------------------------------------------------------------------------
*
@@ -562,27 +524,25 @@ H5_HLRDLL herr_t H5LTcopy_region(const char *file_src,
* \param[in] file Name of file
* \param[in] path Full path to a dataset
* \param[in] block_coord Hyperslab coordinates
- * \param[in] mem_type Memory datatype, describing the buffer
- * the referenced data will be read into
- * \param[out] buf Buffer containing data from the
- * referenced region
+ * \param[in] mem_type Memory datatype, describing the buffer the referenced data will be read into
+ * \param[out] buf Buffer containing data from the referenced region
*
* \return \herr_t
*
- * \details H5LTread_region() reads data from a region described by
- * the hyperslab coordinates in \p block_coord, located in
- * the dataset specified by its absolute path \p path in a
- * file specified by its name \p file. Data is read into a
- * buffer \p buf of the datatype that corresponds to the
+ * \details H5LTread_region() reads data from a region described by
+ * the hyperslab coordinates in \p block_coord, located in
+ * the dataset specified by its absolute path \p path in a
+ * file specified by its name \p file. Data is read into a
+ * buffer \p buf of the datatype that corresponds to the
* HDF5 datatype specified by \p mem_type.
*
- * Buffer \p block_coord has size 2*rank and is the coordinates
- * of the starting point following by the coordinates of the
- * ending point of the hyperslab. For example, to extract a
- * rectangular hyperslab region starting at element (2,2) to
+ * Buffer \p block_coord has size 2*rank and is the coordinates
+ * of the starting point following by the coordinates of the
+ * ending point of the hyperslab. For example, to extract a
+ * rectangular hyperslab region starting at element (2,2) to
* element (5,4) then \p block_coord would be {2, 2, 5, 4}.
*
- * Buffer \p buf should be big enough to hold selected elements
+ * Buffer \p buf should be big enough to hold selected elements
* of the type that corresponds to the \p mem_type
*
* \version 1.1 Fortran wrapper introduced in this release.
@@ -591,57 +551,55 @@ H5_HLRDLL herr_t H5LTcopy_region(const char *file_src,
*
*/
H5_HLRDLL herr_t H5LTread_region(const char *file,
- const char *path,
- const hsize_t *block_coord,
- hid_t mem_type,
- void *buf );
+ const char *path,
+ const hsize_t *block_coord,
+ hid_t mem_type,
+ void *buf );
/**
* --------------------------------------------------------------------------
* \ingroup H5LR
*
- * \brief Retrieves the values of quality flags for each element
+ * \brief Retrieves the values of quality flags for each element
* to the application provided buffer.
*
* \param[in] dset_id Identifier of the dataset with bit-field values
* \param[in] num_values Number of the values to be extracted
- * \param[in] offset Array of staring bits to be extracted from
+ * \param[in] offset Array of staring bits to be extracted from
* the element; valid values: 0 (zero) through 7
- * \param[in] lengths Array of the number of bits to be extracted
- * for each value
- * \param[in] space Dataspace identifier, describing the elements
- * to be read from the dataset with bit-field
- * values
+ * \param[in] lengths Array of the number of bits to be extracted for each value
+ * \param[in] space Dataspace identifier, describing the elements
+ * to be read from the dataset with bit-field values
* \param[out] buf Buffer to read the values in
*
* \return \herr_t
*
- * \details H5LTread_bitfield_value() reads selected elements from a
- * dataset specified by its identifier \p dset_id, and unpacks
+ * \details H5LTread_bitfield_value() reads selected elements from a
+ * dataset specified by its identifier \p dset_id, and unpacks
* the bit-field values to a buffer \p buf.
*
- * The parameter \p space is a space identifier that indicates
+ * The parameter \p space is a space identifier that indicates
* which elements of the dataset should be read.
*
- * The parameter \p offset is an array of length \p num_values;
+ * The parameter \p offset is an array of length \p num_values;
* the i<sup>th</sup> element of the array holds the value of the
- * starting bit of the i<sup>th</sup> bit-field value.
+ * starting bit of the i<sup>th</sup> bit-field value.
* Valid values are: 0 (zero) through 7.
*
- * The parameter \p lengths is an array of length \p num_values;
- * the i<sup>th</sup> element of the array holds the number of
- * bits to be extracted for the i<sup>th</sup> bit-field value.
- * Extracted bits will be interpreted as a base-2 integer value.
- * Each value will be converted to the base-10 integer value and
- * stored in the application buffer.
- *
- * Buffer \p buf is allocated by the application and should be big
- * enough to hold \c num_sel_elem * \p num_values elements of the
- * specified type, where \c num_sel_elem is a number of the elements
- * to be read from the dataset. Data in the buffer is organized
- * as \p num_values values for the first element, followed by the
- * \p num_values values for the second element, ... , followed by
- * the \p num_values values for the
+ * The parameter \p lengths is an array of length \p num_values;
+ * the i<sup>th</sup> element of the array holds the number of
+ * bits to be extracted for the i<sup>th</sup> bit-field value.
+ * Extracted bits will be interpreted as a base-2 integer value.
+ * Each value will be converted to the base-10 integer value and
+ * stored in the application buffer.
+ *
+ * Buffer \p buf is allocated by the application and should be big
+ * enough to hold \c num_sel_elem * \p num_values elements of the
+ * specified type, where \c num_sel_elem is a number of the elements
+ * to be read from the dataset. Data in the buffer is organized
+ * as \p num_values values for the first element, followed by the
+ * \p num_values values for the second element, ... , followed by
+ * the \p num_values values for the
* \c num_selected_elem<sup>th</sup> element.
*
* \version 1.1 Fortran wrapper introduced in this release.
@@ -650,5 +608,5 @@ H5_HLRDLL herr_t H5LTread_region(const char *file,
*
*/
H5_HLRDLL herr_t H5LTread_bitfield_value(hid_t dset_id, int num_values, const unsigned *offset,
- const unsigned *lengths, hid_t space, int *buf);
+ const unsigned *lengths, hid_t space, int *buf);
diff --git a/doxygen/dox/high_level/high_level.dox b/doxygen/dox/high_level/high_level.dox
deleted file mode 100644
index c53d298..0000000
--- a/doxygen/dox/high_level/high_level.dox
+++ /dev/null
@@ -1,29 +0,0 @@
-/** \page high_level High-level library
- * The high-level HDF5 library includes several sets of convenience and standard-use APIs to
- * facilitate common HDF5 operations.
- *
- * <ul>
- * <li>\ref H5LT "Lite (H5LT, H5LD)"
- * \n
- * Functions to simplify creating and manipulating datasets, attributes and other features
- * <li>\ref H5IM "Image (H5IM)"
- * \n
- * Creating and manipulating HDF5 datasets intended to be interpreted as images
- * <li>\ref H5TB "Table (H5TB)"
- * \n
- * Creating and manipulating HDF5 datasets intended to be interpreted as tables
- * <li>\ref H5PT "Packet Table (H5PT)"
- * \n
- * Creating and manipulating HDF5 datasets to support append- and read-only operations on table data
- * <li>\ref H5DS "Dimension Scale (H5DS)"
- * \n
- * Creating and manipulating HDF5 datasets that are associated with the dimension of another HDF5 dataset
- * <li>\ref H5DO "Optimizations (H5DO)"
- * \n
- * Bypassing default HDF5 behavior in order to optimize for specific use cases
- * <li>\ref H5LR "Extensions (H5LR, H5LT)"
- * \n
- * Working with region references, hyperslab selections, and bit-fields
- * </ul>
- *
- */
diff --git a/doxygen/examples/H5.format.1.0.html b/doxygen/examples/H5.format.1.0.html
index ff21315..4eb0548 100644
--- a/doxygen/examples/H5.format.1.0.html
+++ b/doxygen/examples/H5.format.1.0.html
@@ -139,7 +139,7 @@
<p>This document describes the lower-level data objects;
the higher-level objects and their properties are described
- in the <a href="H5.user.html"><cite>HDF5 User's Guide</cite></a>.
+ in the <a href="H5.user.html"><cite>HDF5 User Guide</cite></a>.
<!--
diff --git a/doxygen/examples/H5.format.1.1.html b/doxygen/examples/H5.format.1.1.html
index 0ae31df..9d03a76 100644
--- a/doxygen/examples/H5.format.1.1.html
+++ b/doxygen/examples/H5.format.1.1.html
@@ -172,7 +172,7 @@ TABLE.list TD { border:none; }
<p>This document describes the lower-level data objects;
the higher-level objects and their properties are described
- in the <a href="H5.user.html"><cite>HDF5 User's Guide</cite></a>.
+ in the <a href="H5.user.html"><cite>HDF5 User Guide</cite></a>.
<P>Three levels of information comprise the file format.
Level 0 contains basic information for identifying and
diff --git a/doxygen/examples/H5.format.2.0.html b/doxygen/examples/H5.format.2.0.html
index 4a5fe37..242fdea 100644
--- a/doxygen/examples/H5.format.2.0.html
+++ b/doxygen/examples/H5.format.2.0.html
@@ -357,7 +357,7 @@ div { page-break-inside:avoid;
<p>This document describes the lower-level data objects;
the higher-level objects and their properties are described
- in the <a href="UG/HDF5_Users_Guide-Responsive HTML5/index.html"><cite>HDF5 User&rsquo;s Guide</cite></a>.</p>
+ in the <a href="UG/HDF5_User_Guide-Responsive HTML5/index.html"><cite>HDF5 User Guide</cite></a>.</p>
<p>Three levels of information comprise the file format.
Level 0 contains basic information for identifying and
@@ -12861,9 +12861,9 @@ Pipeline Message</a></h4>
datatypes).</p>
<p>In 1.8.x versions of the library, attributes can be larger
than 64KB. See the
- <a href="UG/HDF5_Users_Guide-Responsive%20HTML5/index.html#t=HDF5_Users_Guide%2FAttributes%2FHDF5_Attributes.htm%3Frhtocid%3Dtoc8.2_1%23TOC_8_5_Special_Issuesbc-13">
+ <a href="UG/HDF5_Users_Guide-Responsive%20HTML5/index.html#t=HDF5_User_Guide%2FAttributes%2FHDF5_Attributes.htm%3Frhtocid%3Dtoc8.2_1%23TOC_8_5_Special_Issuesbc-13">
&ldquo;Special Issues&rdquo;</a> section of the Attributes chapter
- in the <cite>HDF5 User&rsquo;s Guide</cite> for more information.</p>
+ in the <cite>HDF5 User Guide</cite> for more information.</p>
<p>Note: Attributes on an object must have unique names:
the HDF5 Library currently enforces this by causing the
creation of an attribute with a duplicate name to fail.
diff --git a/doxygen/examples/H5.format.html b/doxygen/examples/H5.format.html
index cbcb387..378f7a3 100644
--- a/doxygen/examples/H5.format.html
+++ b/doxygen/examples/H5.format.html
@@ -418,7 +418,7 @@
<p>This document describes the lower-level data objects;
the higher-level objects and their properties are described
- in the <a href="UG/HDF5_Users_Guide-Responsive HTML5/index.html"><cite>HDF5 User&rsquo;s Guide</cite></a>.</p>
+ in the <a href="UG/HDF5_User_Guide-Responsive HTML5/index.html"><cite>HDF5 User Guide</cite></a>.</p>
<p>Three levels of information comprise the file format.
Level 0 contains basic information for identifying and
@@ -14647,9 +14647,9 @@ Data Layout message.
datatypes).</p>
<p>In 1.8.x versions of the library, attributes can be larger
than 64KB. See the
- <a href="UG/HDF5_Users_Guide-Responsive%20HTML5/index.html#t=HDF5_Users_Guide%2FAttributes%2FHDF5_Attributes.htm%3Frhtocid%3Dtoc8.2_1%23TOC_8_5_Special_Issuesbc-13">
+ <a href="UG/HDF5_User_Guide-Responsive%20HTML5/index.html#t=HDF5_User_Guide%2FAttributes%2FHDF5_Attributes.htm%3Frhtocid%3Dtoc8.2_1%23TOC_8_5_Special_Issuesbc-13">
&ldquo;Special Issues&rdquo;</a> section of the Attributes chapter
- in the <cite>HDF5 User&rsquo;s Guide</cite> for more information.</p>
+ in the <cite>HDF5 User Guide</cite> for more information.</p>
<p>Note: Attributes on an object must have unique names:
the HDF5 Library currently enforces this by causing the
creation of an attribute with a duplicate name to fail.
diff --git a/doxygen/examples/H5R_examples.c b/doxygen/examples/H5R_examples.c
deleted file mode 100644
index b40b992..0000000
--- a/doxygen/examples/H5R_examples.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/* -*- c-file-style: "stroustrup" -*- */
-
-#include "hdf5.h"
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main(void)
-{
- int ret_val = EXIT_SUCCESS;
-
- //! <!-- [create] -->
- {
- __label__ fail_file, fail_fspace, fail_dset, fail_sel, fail_aspace, fail_attr, fail_awrite;
- hid_t file, fspace, dset, aspace, attr;
- H5R_ref_t ref;
-
- if ((file = H5Fcreate("reference.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) == H5I_INVALID_HID) {
- ret_val = EXIT_FAILURE;
- goto fail_file;
- }
- // create a region reference which selects all elements of the dataset at "/data"
- if ((fspace = H5Screate_simple(2, (hsize_t[]){10, 20}, NULL)) == H5I_INVALID_HID) {
- ret_val = EXIT_FAILURE;
- goto fail_fspace;
- }
- if ((dset = H5Dcreate(file, "data", H5T_STD_I32LE, fspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) ==
- H5I_INVALID_HID) {
- ret_val = EXIT_FAILURE;
- goto fail_dset;
- }
- if (H5Sselect_all(fspace) < 0 || H5Rcreate_region(file, "data", fspace, H5P_DEFAULT, &ref) < 0) {
- ret_val = EXIT_FAILURE;
- goto fail_sel;
- }
- // store the region reference in a scalar attribute of the root group called "region"
- if ((aspace = H5Screate(H5S_SCALAR)) == H5I_INVALID_HID) {
- ret_val = EXIT_FAILURE;
- goto fail_aspace;
- }
- if ((attr = H5Acreate(file, "region", H5T_STD_REF, aspace, H5P_DEFAULT, H5P_DEFAULT)) ==
- H5I_INVALID_HID) {
- ret_val = EXIT_FAILURE;
- goto fail_attr;
- }
- if (H5Awrite(attr, H5T_STD_REF, &ref) < 0) {
- ret_val = EXIT_FAILURE;
- goto fail_awrite;
- }
-
-fail_awrite:
- H5Aclose(attr);
-fail_attr:
- H5Sclose(aspace);
-fail_aspace:
- H5Rdestroy(&ref);
-fail_sel:
- H5Dclose(dset);
-fail_dset:
- H5Sclose(fspace);
-fail_fspace:
- H5Fclose(file);
-fail_file:;
- }
- //! <!-- [create] -->
-
- //! <!-- [read] -->
- {
- __label__ fail_file, fail_attr, fail_aread;
- hid_t file, attr;
- H5R_ref_t ref;
-
- if ((file = H5Fopen("reference.h5", H5F_ACC_RDONLY, H5P_DEFAULT)) == H5I_INVALID_HID) {
- ret_val = EXIT_FAILURE;
- goto fail_file;
- }
-
- // read the dataset region reference from the attribute
- if ((attr = H5Aopen(file, "region", H5P_DEFAULT)) == H5I_INVALID_HID) {
- ret_val = EXIT_FAILURE;
- goto fail_attr;
- }
- if (H5Aread(attr, H5T_STD_REF, &ref) < 0) {
- ret_val = EXIT_FAILURE;
- goto fail_aread;
- }
- assert(H5Rget_type(&ref) == H5R_DATASET_REGION2);
-
- // get an HDF5 path name for the dataset of the region reference
- {
- char buf[255];
- if (H5Rget_obj_name(&ref, H5P_DEFAULT, buf, 255) < 0) {
- ret_val = EXIT_FAILURE;
- }
- printf("Object name: \"%s\"\n", buf);
- }
-
- H5Rdestroy(&ref);
-fail_aread:
- H5Aclose(attr);
-fail_attr:
- H5Fclose(file);
-fail_file:;
- }
- //! <!-- [read] -->
-
- //! <!-- [update] -->
- {
- __label__ fail_file, fail_attr, fail_ref;
- hid_t file, attr;
- H5R_ref_t ref;
-
- if ((file = H5Fopen("reference.h5", H5F_ACC_RDWR, H5P_DEFAULT)) == H5I_INVALID_HID) {
- ret_val = EXIT_FAILURE;
- goto fail_file;
- }
-
- // H5T_STD_REF is a generic reference type
- // we can "update" the attribute value to refer to the attribute itself
- if ((attr = H5Aopen(file, "region", H5P_DEFAULT)) == H5I_INVALID_HID) {
- ret_val = EXIT_FAILURE;
- goto fail_attr;
- }
- if (H5Rcreate_attr(file, "data", "region", H5P_DEFAULT, &ref) < 0) {
- ret_val = EXIT_FAILURE;
- goto fail_ref;
- }
-
- assert(H5Rget_type(&ref) == H5R_ATTR);
-
- if (H5Awrite(attr, H5T_STD_REF, &ref) < 0) {
- ret_val = EXIT_FAILURE;
- }
-
- H5Rdestroy(&ref);
-fail_ref:
- H5Aclose(attr);
-fail_attr:
- H5Fclose(file);
-fail_file:;
- }
- //! <!-- [update] -->
-
- //! <!-- [delete] -->
- {
- __label__ fail_file, fail_ref;
- hid_t file;
- H5R_ref_t ref;
-
- // create an HDF5 object reference to the root group
- if ((file = H5Fopen("reference.h5", H5F_ACC_RDONLY, H5P_DEFAULT)) == H5I_INVALID_HID) {
- ret_val = EXIT_FAILURE;
- goto fail_file;
- }
- if (H5Rcreate_object(file, ".", H5P_DEFAULT, &ref) < 0) {
- ret_val = EXIT_FAILURE;
- goto fail_ref;
- }
-
- // H5Rdestroy() releases all resources associated with an HDF5 reference
- H5Rdestroy(&ref);
-fail_ref:
- H5Fclose(file);
-fail_file:;
- }
- //! <!-- [delete] -->
-
- return ret_val;
-}
diff --git a/doxygen/examples/ThreadSafeLibrary.html b/doxygen/examples/ThreadSafeLibrary.html
index 97f7742..5824dc6 100644
--- a/doxygen/examples/ThreadSafeLibrary.html
+++ b/doxygen/examples/ThreadSafeLibrary.html
@@ -20,9 +20,9 @@ The following code is placed at the beginning of H5private.h:
</blockquote>
<p>
-<code>H5_HAVE_THREADSAFE</code> is defined when the HDF-5 library is
+<code>H5_HAVE_THREADSAFE</code> is defined when the HDF5 library is
compiled with the --enable-threadsafe configuration option. In general,
-code for the non-threadsafe version of HDF-5 library are placed within
+code for the non-threadsafe version of HDF5 library are placed within
the <code>#else</code> part of the conditional compilation. The exception
to this rule are the changes to the <code>FUNC_ENTER</code> (in
H5private.h), <code>HRETURN</code> and <code>HRETURN_ERROR</code> (in
@@ -438,7 +438,7 @@ described in Appendix D and may be found in <code>H5TS.c</code>.
<p>
Except where stated, all tests involve 16 simultaneous threads that make
-use of HDF-5 API calls without any explicit synchronization typically
+use of HDF5 API calls without any explicit synchronization typically
required in a non-threadsafe environment.
</p>
@@ -453,7 +453,7 @@ dataset's named value.
<p>
The main thread would join with all 16 threads and attempt to match the
-resulting HDF-5 file with expected results - that each dataset contains
+resulting HDF5 file with expected results - that each dataset contains
the correct value (0 for <i>zero</i>, 1 for <i>one</i> etc ...) and all
datasets were correctly created.
</p>
@@ -473,7 +473,7 @@ name.
<p>
The error stack implementation runs correctly if it reports 15 instances
-of the dataset name conflict error and finally generates a correct HDF-5
+of the dataset name conflict error and finally generates a correct HDF5
containing that single dataset. Each thread should report its own stack
of errors with a thread number associated with it.
</p>
diff --git a/doxygen/examples/core_menu.md b/doxygen/examples/core_menu.md
new file mode 100644
index 0000000..8c82cc5
--- /dev/null
+++ b/doxygen/examples/core_menu.md
@@ -0,0 +1,65 @@
+<b>Core Library</b>
+
+- @ref H5A "Attributes (H5A)"
+<br />
+HDF5 attribute is a small metadata object describing the nature and/or intended usage of a primary data object.
+
+- @ref H5D "Datasets (H5D)"
+<br />
+Manage HDF5 datasets, including the transfer of data between memory and disk and the description of dataset properties.
+
+- @ref H5S "Dataspaces (H5S)"
+<br />
+HDF5 dataspaces describe the shape of datasets in memory or in HDF5 files.
+
+- @ref H5T "Datatypes (H5T)"
+<br />
+HDF5 datatypes describe the element type of HDF5 datasets and attributes.
+
+- @ref H5E "Error Handling (H5E)"
+<br />
+HDF5 library error reporting.
+
+- @ref H5F "Files (H5F)"
+<br />
+Manage HDF5 files.
+
+- @ref H5Z "Filters (H5Z)"
+<br />
+Manage HDF5 user-defined filters
+
+- @ref H5G "Groups (H5G)"
+<br />
+Manage HDF5 groups.
+
+- @ref H5I "Identifiers (H5I)"
+<br />
+Manage identifiers defined by the HDF5 library.
+
+- @ref H5 "Library General (H5)"
+<br />
+Manage the life cycle of HDF5 library instances.
+
+- @ref H5L "Links (H5L)"
+<br />
+Manage HDF5 links and link types.
+
+- @ref H5O "Objects (H5O)"
+<br />
+Manage HDF5 objects (groups, datasets, datatype objects).
+
+- @ref H5P "Property Lists (H5P)"
+<br />
+HDF5 property lists are the main vehicle to configure the behavior of HDF5 API functions.
+
+- @ref H5PL "Dynamically-loaded Plugins (H5PL)"
+<br />
+Manage the loading behavior of HDF5 plugins.
+
+- @ref H5R "References (H5R)"
+<br />
+Manage HDF5 references (HDF5 objects, attributes, and selections on datasets a.k.a. dataset regions).
+
+- @ref H5VL "VOL Connector (H5VL)"
+<br />
+Manage HDF5 VOL connector plugins.
diff --git a/doxygen/examples/fortran_menu.md b/doxygen/examples/fortran_menu.md
new file mode 100644
index 0000000..335a21a
--- /dev/null
+++ b/doxygen/examples/fortran_menu.md
@@ -0,0 +1,61 @@
+<b>Fortran Library</b>
+
+- H5A "Attributes (H5A)"
+<br />
+HDF5 attribute is a small metadata object describing the nature and/or intended usage of a primary data object.
+
+- H5D "Datasets (H5D)"
+<br />
+Manage HDF5 datasets, including the transfer of data between memory and disk and the description of dataset properties.
+
+- H5S "Dataspaces (H5S)"
+<br />
+HDF5 dataspaces describe the shape of datasets in memory or in HDF5 files.
+
+- H5T "Datatypes (H5T)"
+<br />
+HDF5 datatypes describe the element type of HDF5 datasets and attributes.
+
+- H5E "Error Handling (H5E)"
+<br />
+HDF5 library error reporting.
+
+- H5F "Files (H5F)"
+<br />
+Manage HDF5 files.
+
+- H5Z "Filters (H5Z)"
+<br />
+Manage HDF5 user-defined filters
+
+- H5G "Groups (H5G)"
+<br />
+Manage HDF5 groups.
+
+- H5I "Identifiers (H5I)"
+<br />
+Manage identifiers defined by the HDF5 library.
+
+- H5 "Library General (H5)"
+<br />
+Manage the life cycle of HDF5 library instances.
+
+- H5L "Links (H5L)"
+<br />
+Manage HDF5 links and link types.
+
+- H5O "Objects (H5O)"
+<br />
+Manage HDF5 objects (groups, datasets, datatype objects).
+
+- H5P "Property Lists (H5P)"
+<br />
+HDF5 property lists are the main vehicle to configure the behavior of HDF5 API functions.
+
+- H5PL "Dynamically-loaded Plugins (H5PL)"
+<br />
+Manage the loading behavior of HDF5 plugins.
+
+- H5R "References (H5R)"
+<br />
+Manage HDF5 references (HDF5 objects, attributes, and selections on datasets a.k.a. dataset regions).
diff --git a/doxygen/examples/high_level_menu.md b/doxygen/examples/high_level_menu.md
new file mode 100644
index 0000000..9e6f696
--- /dev/null
+++ b/doxygen/examples/high_level_menu.md
@@ -0,0 +1,30 @@
+<b>High-level library</b>
+<br />
+The high-level HDF5 library includes several sets of convenience and standard-use APIs to
+facilitate common HDF5 operations.
+
+- @ref H5LT "Lite (H5LT, H5LD)"
+<br />
+Functions to simplify creating and manipulating datasets, attributes and other features
+
+- @ref H5IM "Image (H5IM)"
+<br />
+Creating and manipulating HDF5 datasets intended to be interpreted as images
+
+- @ref H5TB "Table (H5TB)"
+<br />
+Creating and manipulating HDF5 datasets intended to be interpreted as tables
+
+- @ref H5PT "Packet Table (H5PT)"
+<br />
+Creating and manipulating HDF5 datasets to support append- and read-only operations on table data
+
+- @ref H5DS "Dimension Scale (H5DS)"
+<br />
+Creating and manipulating HDF5 datasets that are associated with the dimension of another HDF5 dataset
+
+- @ref H5DO "Optimizations (H5DO)"
+<br />
+Bypassing default HDF5 behavior in order to optimize for specific use cases
+
+- @ref H5LR "Extensions (H5LR, H5LT)"
diff --git a/doxygen/examples/java_menu.md b/doxygen/examples/java_menu.md
new file mode 100644
index 0000000..1236838
--- /dev/null
+++ b/doxygen/examples/java_menu.md
@@ -0,0 +1,84 @@
+<b>Java Library</b>
+ @ref HDF5LIB
+
+- @ref JH5
+<br />
+This package is the Java interface for the HDF5 library.
+
+- @ref JH5A
+<br />
+This package is the Java interface for the HDF5 library attribute APIs.
+
+- @ref JH5D
+<br />
+This package is the Java interface for the HDF5 library dataset APIs.
+
+- @ref JH5S
+<br />
+This package is the Java interface for the HDF5 library dataspace APIs.
+
+- @ref JH5T
+<br />
+This package is the Java interface for the HDF5 library datatype APIs.
+
+- @ref JH5E
+<br />
+This package is the Java interface for the HDF5 library error APIs.
+
+- @ref JH5F
+<br />
+This package is the Java interface for the HDF5 library file APIs.
+
+- @ref JH5Z
+<br />
+This package is the Java interface for the HDF5 library filter APIs.
+
+- @ref JH5G
+<br />
+This package is the Java interface for the HDF5 library group APIs.
+
+- @ref JH5I
+<br />
+This package is the Java interface for the HDF5 library identifier APIs.
+
+- @ref JH5L
+<br />
+This package is the Java interface for the HDF5 library links APIs.
+
+- @ref JH5O
+<br />
+This package is the Java interface for the HDF5 library object APIs.
+
+- @ref JH5P
+<br />
+This package is the Java interface for the HDF5 library property list APIs.
+
+- @ref JH5PL
+<br />
+This package is the Java interface for the HDF5 library plugin APIs.
+
+- @ref JH5R
+<br />
+This package is the Java interface for the HDF5 library reference APIs.
+
+- @ref JH5VL
+<br />
+This package is the Java interface for the HDF5 library VOL connector APIs.
+
+- @ref HDF5CONST
+<br />
+This class contains C constants and enumerated types of HDF5 library.
+
+- @ref HDFNATIVE
+<br />
+This class encapsulates native methods to deal with arrays of numbers,
+ * converting from numbers to bytes and bytes to numbers.
+
+- @ref HDFARRAY
+<br />
+This is a class for handling multidimensional arrays for HDF.
+
+- @ref ERRORS
+<br />
+The class HDF5Exception returns errors from the Java HDF5 Interface.
+ \ No newline at end of file
diff --git a/doxygen/hdf5doxy.css b/doxygen/hdf5doxy.css
index 8c03860..639843d 100644
--- a/doxygen/hdf5doxy.css
+++ b/doxygen/hdf5doxy.css
@@ -244,8 +244,16 @@ a {
padding: 2px 1px 0;
}
-a[href*="http"] {
- background: url('https://mdn.mozillademos.org/files/12982/external-link-52.png') no-repeat 100% 0;
- background-size: 12px 12px;
- padding-right: 16px;
+a[href^="http"]::after,
+a[href^="https://"]::after
+{
+ content: "";
+ width: 11px;
+ height: 11px;
+ margin-left: 4px;
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: contain;
+ display: inline-block;
}
diff --git a/doxygen/hdf5doxy_layout.xml b/doxygen/hdf5doxy_layout.xml
index 24642b5..20e0123 100644
--- a/doxygen/hdf5doxy_layout.xml
+++ b/doxygen/hdf5doxy_layout.xml
@@ -5,6 +5,7 @@
<tab type="user" url="index.html" title="Overview" />
<tab type="user" url="https://portal.hdfgroup.org/display/HDF5/Learning+HDF5" title="Getting started" />
<tab type="user" url="@ref Cookbook" title="Cookbook" />
+ <tab type="user" url="@ref UG" title="User Guide" />
<tab type="user" url="https://portal.hdfgroup.org/display/HDF5/HDF5+User+Guides" title="User Guides" />
<tab type="user" url="https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide" title="Application Developer's Guide" />
<tab type="user" url="@ref GLS" title="Glossary" />
diff --git a/doxygen/img/Dmodel_fig1.gif b/doxygen/img/Dmodel_fig1.gif
new file mode 100644
index 0000000..ca8093c
--- /dev/null
+++ b/doxygen/img/Dmodel_fig1.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig10.gif b/doxygen/img/Dmodel_fig10.gif
new file mode 100644
index 0000000..c6a9916
--- /dev/null
+++ b/doxygen/img/Dmodel_fig10.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig11_b.gif b/doxygen/img/Dmodel_fig11_b.gif
new file mode 100644
index 0000000..19ea9fb
--- /dev/null
+++ b/doxygen/img/Dmodel_fig11_b.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig12_a.gif b/doxygen/img/Dmodel_fig12_a.gif
new file mode 100644
index 0000000..1f597df
--- /dev/null
+++ b/doxygen/img/Dmodel_fig12_a.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig12_b.gif b/doxygen/img/Dmodel_fig12_b.gif
new file mode 100644
index 0000000..f271082
--- /dev/null
+++ b/doxygen/img/Dmodel_fig12_b.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig14_a.gif b/doxygen/img/Dmodel_fig14_a.gif
new file mode 100644
index 0000000..45d6c6c
--- /dev/null
+++ b/doxygen/img/Dmodel_fig14_a.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig14_b.gif b/doxygen/img/Dmodel_fig14_b.gif
new file mode 100644
index 0000000..12a667d
--- /dev/null
+++ b/doxygen/img/Dmodel_fig14_b.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig14_c.gif b/doxygen/img/Dmodel_fig14_c.gif
new file mode 100644
index 0000000..0c06049
--- /dev/null
+++ b/doxygen/img/Dmodel_fig14_c.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig14_d.gif b/doxygen/img/Dmodel_fig14_d.gif
new file mode 100644
index 0000000..7cb8956
--- /dev/null
+++ b/doxygen/img/Dmodel_fig14_d.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig2.gif b/doxygen/img/Dmodel_fig2.gif
new file mode 100644
index 0000000..c2c9d04
--- /dev/null
+++ b/doxygen/img/Dmodel_fig2.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig3_a.gif b/doxygen/img/Dmodel_fig3_a.gif
new file mode 100644
index 0000000..9f00832
--- /dev/null
+++ b/doxygen/img/Dmodel_fig3_a.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig3_c.gif b/doxygen/img/Dmodel_fig3_c.gif
new file mode 100644
index 0000000..8529181
--- /dev/null
+++ b/doxygen/img/Dmodel_fig3_c.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig4_a.gif b/doxygen/img/Dmodel_fig4_a.gif
new file mode 100644
index 0000000..c7fdce1
--- /dev/null
+++ b/doxygen/img/Dmodel_fig4_a.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig4_b.gif b/doxygen/img/Dmodel_fig4_b.gif
new file mode 100644
index 0000000..34053d5
--- /dev/null
+++ b/doxygen/img/Dmodel_fig4_b.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig5.gif b/doxygen/img/Dmodel_fig5.gif
new file mode 100644
index 0000000..69e11f5
--- /dev/null
+++ b/doxygen/img/Dmodel_fig5.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig6.gif b/doxygen/img/Dmodel_fig6.gif
new file mode 100644
index 0000000..bf677c2
--- /dev/null
+++ b/doxygen/img/Dmodel_fig6.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig7_b.gif b/doxygen/img/Dmodel_fig7_b.gif
new file mode 100644
index 0000000..da27fa0
--- /dev/null
+++ b/doxygen/img/Dmodel_fig7_b.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig8.gif b/doxygen/img/Dmodel_fig8.gif
new file mode 100644
index 0000000..27305a8
--- /dev/null
+++ b/doxygen/img/Dmodel_fig8.gif
Binary files differ
diff --git a/doxygen/img/Dmodel_fig9.gif b/doxygen/img/Dmodel_fig9.gif
new file mode 100644
index 0000000..31893bf
--- /dev/null
+++ b/doxygen/img/Dmodel_fig9.gif
Binary files differ
diff --git a/doxygen/img/Dsets_NbitFloating1.gif b/doxygen/img/Dsets_NbitFloating1.gif
new file mode 100644
index 0000000..3d3ce19
--- /dev/null
+++ b/doxygen/img/Dsets_NbitFloating1.gif
Binary files differ
diff --git a/doxygen/img/Dsets_NbitFloating2.gif b/doxygen/img/Dsets_NbitFloating2.gif
new file mode 100644
index 0000000..cdb5a90
--- /dev/null
+++ b/doxygen/img/Dsets_NbitFloating2.gif
Binary files differ
diff --git a/doxygen/img/Dsets_NbitInteger1.gif b/doxygen/img/Dsets_NbitInteger1.gif
new file mode 100644
index 0000000..656fb8d
--- /dev/null
+++ b/doxygen/img/Dsets_NbitInteger1.gif
Binary files differ
diff --git a/doxygen/img/Dsets_NbitInteger2.gif b/doxygen/img/Dsets_NbitInteger2.gif
new file mode 100644
index 0000000..e100ebe
--- /dev/null
+++ b/doxygen/img/Dsets_NbitInteger2.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig1.gif b/doxygen/img/Dsets_fig1.gif
new file mode 100644
index 0000000..c8f3349
--- /dev/null
+++ b/doxygen/img/Dsets_fig1.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig10.gif b/doxygen/img/Dsets_fig10.gif
new file mode 100644
index 0000000..4593cc1
--- /dev/null
+++ b/doxygen/img/Dsets_fig10.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig11.gif b/doxygen/img/Dsets_fig11.gif
new file mode 100644
index 0000000..573701a
--- /dev/null
+++ b/doxygen/img/Dsets_fig11.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig12.gif b/doxygen/img/Dsets_fig12.gif
new file mode 100644
index 0000000..d9ddd2b
--- /dev/null
+++ b/doxygen/img/Dsets_fig12.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig2.gif b/doxygen/img/Dsets_fig2.gif
new file mode 100644
index 0000000..8ecc2c7
--- /dev/null
+++ b/doxygen/img/Dsets_fig2.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig3.gif b/doxygen/img/Dsets_fig3.gif
new file mode 100644
index 0000000..642715e
--- /dev/null
+++ b/doxygen/img/Dsets_fig3.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig4.gif b/doxygen/img/Dsets_fig4.gif
new file mode 100644
index 0000000..a24ccc9
--- /dev/null
+++ b/doxygen/img/Dsets_fig4.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig5.gif b/doxygen/img/Dsets_fig5.gif
new file mode 100644
index 0000000..78c953e
--- /dev/null
+++ b/doxygen/img/Dsets_fig5.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig6.gif b/doxygen/img/Dsets_fig6.gif
new file mode 100644
index 0000000..ea15564
--- /dev/null
+++ b/doxygen/img/Dsets_fig6.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig7.gif b/doxygen/img/Dsets_fig7.gif
new file mode 100644
index 0000000..f7f6b9e
--- /dev/null
+++ b/doxygen/img/Dsets_fig7.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig8.gif b/doxygen/img/Dsets_fig8.gif
new file mode 100644
index 0000000..91cb6aa
--- /dev/null
+++ b/doxygen/img/Dsets_fig8.gif
Binary files differ
diff --git a/doxygen/img/Dsets_fig9.gif b/doxygen/img/Dsets_fig9.gif
new file mode 100644
index 0000000..802ca52
--- /dev/null
+++ b/doxygen/img/Dsets_fig9.gif
Binary files differ
diff --git a/doxygen/img/Dspace_CvsF1.gif b/doxygen/img/Dspace_CvsF1.gif
new file mode 100644
index 0000000..716b9f1
--- /dev/null
+++ b/doxygen/img/Dspace_CvsF1.gif
Binary files differ
diff --git a/doxygen/img/Dspace_CvsF2.gif b/doxygen/img/Dspace_CvsF2.gif
new file mode 100644
index 0000000..716b9f1
--- /dev/null
+++ b/doxygen/img/Dspace_CvsF2.gif
Binary files differ
diff --git a/doxygen/img/Dspace_CvsF3.gif b/doxygen/img/Dspace_CvsF3.gif
new file mode 100644
index 0000000..59c31ff
--- /dev/null
+++ b/doxygen/img/Dspace_CvsF3.gif
Binary files differ
diff --git a/doxygen/img/Dspace_CvsF4.gif b/doxygen/img/Dspace_CvsF4.gif
new file mode 100644
index 0000000..e97b006
--- /dev/null
+++ b/doxygen/img/Dspace_CvsF4.gif
Binary files differ
diff --git a/doxygen/img/Dspace_combine.gif b/doxygen/img/Dspace_combine.gif
new file mode 100644
index 0000000..8da2397
--- /dev/null
+++ b/doxygen/img/Dspace_combine.gif
Binary files differ
diff --git a/doxygen/img/Dspace_complex.gif b/doxygen/img/Dspace_complex.gif
new file mode 100644
index 0000000..53e92ee
--- /dev/null
+++ b/doxygen/img/Dspace_complex.gif
Binary files differ
diff --git a/doxygen/img/Dspace_features.gif b/doxygen/img/Dspace_features.gif
new file mode 100644
index 0000000..d94b4e4
--- /dev/null
+++ b/doxygen/img/Dspace_features.gif
Binary files differ
diff --git a/doxygen/img/Dspace_features_cmpd.gif b/doxygen/img/Dspace_features_cmpd.gif
new file mode 100644
index 0000000..f24ee99
--- /dev/null
+++ b/doxygen/img/Dspace_features_cmpd.gif
Binary files differ
diff --git a/doxygen/img/Dspace_move.gif b/doxygen/img/Dspace_move.gif
new file mode 100644
index 0000000..5debd75
--- /dev/null
+++ b/doxygen/img/Dspace_move.gif
Binary files differ
diff --git a/doxygen/img/Dspace_point.gif b/doxygen/img/Dspace_point.gif
new file mode 100644
index 0000000..92ad3a8
--- /dev/null
+++ b/doxygen/img/Dspace_point.gif
Binary files differ
diff --git a/doxygen/img/Dspace_read.gif b/doxygen/img/Dspace_read.gif
new file mode 100644
index 0000000..28c67f4
--- /dev/null
+++ b/doxygen/img/Dspace_read.gif
Binary files differ
diff --git a/doxygen/img/Dspace_select.gif b/doxygen/img/Dspace_select.gif
new file mode 100644
index 0000000..b9f4851
--- /dev/null
+++ b/doxygen/img/Dspace_select.gif
Binary files differ
diff --git a/doxygen/img/Dspace_separate.gif b/doxygen/img/Dspace_separate.gif
new file mode 100644
index 0000000..ba4ba8c
--- /dev/null
+++ b/doxygen/img/Dspace_separate.gif
Binary files differ
diff --git a/doxygen/img/Dspace_simple.gif b/doxygen/img/Dspace_simple.gif
new file mode 100644
index 0000000..ff3eca5
--- /dev/null
+++ b/doxygen/img/Dspace_simple.gif
Binary files differ
diff --git a/doxygen/img/Dspace_subset.gif b/doxygen/img/Dspace_subset.gif
new file mode 100644
index 0000000..b353175
--- /dev/null
+++ b/doxygen/img/Dspace_subset.gif
Binary files differ
diff --git a/doxygen/img/Dspace_three_datasets.gif b/doxygen/img/Dspace_three_datasets.gif
new file mode 100644
index 0000000..4af222f
--- /dev/null
+++ b/doxygen/img/Dspace_three_datasets.gif
Binary files differ
diff --git a/doxygen/img/Dspace_transfer.gif b/doxygen/img/Dspace_transfer.gif
new file mode 100644
index 0000000..7de0231
--- /dev/null
+++ b/doxygen/img/Dspace_transfer.gif
Binary files differ
diff --git a/doxygen/img/Dspace_write1to2.gif b/doxygen/img/Dspace_write1to2.gif
new file mode 100644
index 0000000..5735bc7
--- /dev/null
+++ b/doxygen/img/Dspace_write1to2.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig1.gif b/doxygen/img/Dtypes_fig1.gif
new file mode 100644
index 0000000..484f54f
--- /dev/null
+++ b/doxygen/img/Dtypes_fig1.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig10.gif b/doxygen/img/Dtypes_fig10.gif
new file mode 100644
index 0000000..60c8ba9
--- /dev/null
+++ b/doxygen/img/Dtypes_fig10.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig11.gif b/doxygen/img/Dtypes_fig11.gif
new file mode 100644
index 0000000..b5eda71
--- /dev/null
+++ b/doxygen/img/Dtypes_fig11.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig12.gif b/doxygen/img/Dtypes_fig12.gif
new file mode 100644
index 0000000..ee911b7
--- /dev/null
+++ b/doxygen/img/Dtypes_fig12.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig13a.gif b/doxygen/img/Dtypes_fig13a.gif
new file mode 100644
index 0000000..2f47b71
--- /dev/null
+++ b/doxygen/img/Dtypes_fig13a.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig13b.gif b/doxygen/img/Dtypes_fig13b.gif
new file mode 100644
index 0000000..fe3b5fb
--- /dev/null
+++ b/doxygen/img/Dtypes_fig13b.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig13c.gif b/doxygen/img/Dtypes_fig13c.gif
new file mode 100644
index 0000000..afd2834
--- /dev/null
+++ b/doxygen/img/Dtypes_fig13c.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig13d.gif b/doxygen/img/Dtypes_fig13d.gif
new file mode 100644
index 0000000..48805d8
--- /dev/null
+++ b/doxygen/img/Dtypes_fig13d.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig14.gif b/doxygen/img/Dtypes_fig14.gif
new file mode 100644
index 0000000..8f4d787
--- /dev/null
+++ b/doxygen/img/Dtypes_fig14.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig15.gif b/doxygen/img/Dtypes_fig15.gif
new file mode 100644
index 0000000..82a34d0
--- /dev/null
+++ b/doxygen/img/Dtypes_fig15.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig16.gif b/doxygen/img/Dtypes_fig16.gif
new file mode 100644
index 0000000..e83d379
--- /dev/null
+++ b/doxygen/img/Dtypes_fig16.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig16a.gif b/doxygen/img/Dtypes_fig16a.gif
new file mode 100644
index 0000000..7e68cc0
--- /dev/null
+++ b/doxygen/img/Dtypes_fig16a.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig16b.gif b/doxygen/img/Dtypes_fig16b.gif
new file mode 100644
index 0000000..b7919be
--- /dev/null
+++ b/doxygen/img/Dtypes_fig16b.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig16c.gif b/doxygen/img/Dtypes_fig16c.gif
new file mode 100644
index 0000000..cca285a
--- /dev/null
+++ b/doxygen/img/Dtypes_fig16c.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig16d.gif b/doxygen/img/Dtypes_fig16d.gif
new file mode 100644
index 0000000..8ca0fd7
--- /dev/null
+++ b/doxygen/img/Dtypes_fig16d.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig17a.gif b/doxygen/img/Dtypes_fig17a.gif
new file mode 100644
index 0000000..cdfaa29
--- /dev/null
+++ b/doxygen/img/Dtypes_fig17a.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig17b.gif b/doxygen/img/Dtypes_fig17b.gif
new file mode 100644
index 0000000..4a3ba33
--- /dev/null
+++ b/doxygen/img/Dtypes_fig17b.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig18.gif b/doxygen/img/Dtypes_fig18.gif
new file mode 100644
index 0000000..73c33e0
--- /dev/null
+++ b/doxygen/img/Dtypes_fig18.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig19.gif b/doxygen/img/Dtypes_fig19.gif
new file mode 100644
index 0000000..38ea6d4
--- /dev/null
+++ b/doxygen/img/Dtypes_fig19.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig2.gif b/doxygen/img/Dtypes_fig2.gif
new file mode 100644
index 0000000..52285a6
--- /dev/null
+++ b/doxygen/img/Dtypes_fig2.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig20a.gif b/doxygen/img/Dtypes_fig20a.gif
new file mode 100644
index 0000000..8406e77
--- /dev/null
+++ b/doxygen/img/Dtypes_fig20a.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig20b.gif b/doxygen/img/Dtypes_fig20b.gif
new file mode 100644
index 0000000..3f2331d
--- /dev/null
+++ b/doxygen/img/Dtypes_fig20b.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig20c.gif b/doxygen/img/Dtypes_fig20c.gif
new file mode 100644
index 0000000..5b60165
--- /dev/null
+++ b/doxygen/img/Dtypes_fig20c.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig20d.gif b/doxygen/img/Dtypes_fig20d.gif
new file mode 100644
index 0000000..fdcb59a
--- /dev/null
+++ b/doxygen/img/Dtypes_fig20d.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig21.gif b/doxygen/img/Dtypes_fig21.gif
new file mode 100644
index 0000000..6d30528
--- /dev/null
+++ b/doxygen/img/Dtypes_fig21.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig22.gif b/doxygen/img/Dtypes_fig22.gif
new file mode 100644
index 0000000..5e2ca99
--- /dev/null
+++ b/doxygen/img/Dtypes_fig22.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig23.gif b/doxygen/img/Dtypes_fig23.gif
new file mode 100644
index 0000000..f0c9882
--- /dev/null
+++ b/doxygen/img/Dtypes_fig23.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig24.gif b/doxygen/img/Dtypes_fig24.gif
new file mode 100644
index 0000000..a1c28f4
--- /dev/null
+++ b/doxygen/img/Dtypes_fig24.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig25a.gif b/doxygen/img/Dtypes_fig25a.gif
new file mode 100644
index 0000000..16d3bcc
--- /dev/null
+++ b/doxygen/img/Dtypes_fig25a.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig25c.gif b/doxygen/img/Dtypes_fig25c.gif
new file mode 100644
index 0000000..a625b74
--- /dev/null
+++ b/doxygen/img/Dtypes_fig25c.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig26.gif b/doxygen/img/Dtypes_fig26.gif
new file mode 100644
index 0000000..24b34fb
--- /dev/null
+++ b/doxygen/img/Dtypes_fig26.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig27.gif b/doxygen/img/Dtypes_fig27.gif
new file mode 100644
index 0000000..71f182a
--- /dev/null
+++ b/doxygen/img/Dtypes_fig27.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig28.gif b/doxygen/img/Dtypes_fig28.gif
new file mode 100644
index 0000000..56d8d1b
--- /dev/null
+++ b/doxygen/img/Dtypes_fig28.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig3.gif b/doxygen/img/Dtypes_fig3.gif
new file mode 100644
index 0000000..993d12e
--- /dev/null
+++ b/doxygen/img/Dtypes_fig3.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig4.gif b/doxygen/img/Dtypes_fig4.gif
new file mode 100644
index 0000000..67aedef
--- /dev/null
+++ b/doxygen/img/Dtypes_fig4.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig5.gif b/doxygen/img/Dtypes_fig5.gif
new file mode 100644
index 0000000..075417d
--- /dev/null
+++ b/doxygen/img/Dtypes_fig5.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig6.gif b/doxygen/img/Dtypes_fig6.gif
new file mode 100644
index 0000000..516ab95
--- /dev/null
+++ b/doxygen/img/Dtypes_fig6.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig7.gif b/doxygen/img/Dtypes_fig7.gif
new file mode 100644
index 0000000..c18e9dc
--- /dev/null
+++ b/doxygen/img/Dtypes_fig7.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig8.gif b/doxygen/img/Dtypes_fig8.gif
new file mode 100644
index 0000000..d75d998
--- /dev/null
+++ b/doxygen/img/Dtypes_fig8.gif
Binary files differ
diff --git a/doxygen/img/Dtypes_fig9.gif b/doxygen/img/Dtypes_fig9.gif
new file mode 100644
index 0000000..873f0ab
--- /dev/null
+++ b/doxygen/img/Dtypes_fig9.gif
Binary files differ
diff --git a/doxygen/img/Files_fig3.gif b/doxygen/img/Files_fig3.gif
new file mode 100644
index 0000000..6912f5c
--- /dev/null
+++ b/doxygen/img/Files_fig3.gif
Binary files differ
diff --git a/doxygen/img/Files_fig4.gif b/doxygen/img/Files_fig4.gif
new file mode 100644
index 0000000..b4ff107
--- /dev/null
+++ b/doxygen/img/Files_fig4.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig1.gif b/doxygen/img/Groups_fig1.gif
new file mode 100644
index 0000000..193fff9
--- /dev/null
+++ b/doxygen/img/Groups_fig1.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig10_a.gif b/doxygen/img/Groups_fig10_a.gif
new file mode 100644
index 0000000..6595b34
--- /dev/null
+++ b/doxygen/img/Groups_fig10_a.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig10_b.gif b/doxygen/img/Groups_fig10_b.gif
new file mode 100644
index 0000000..9e7c234
--- /dev/null
+++ b/doxygen/img/Groups_fig10_b.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig10_c.gif b/doxygen/img/Groups_fig10_c.gif
new file mode 100644
index 0000000..20900ac
--- /dev/null
+++ b/doxygen/img/Groups_fig10_c.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig10_d.gif b/doxygen/img/Groups_fig10_d.gif
new file mode 100644
index 0000000..7251919
--- /dev/null
+++ b/doxygen/img/Groups_fig10_d.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig11_a.gif b/doxygen/img/Groups_fig11_a.gif
new file mode 100644
index 0000000..1d041d0
--- /dev/null
+++ b/doxygen/img/Groups_fig11_a.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig11_b.gif b/doxygen/img/Groups_fig11_b.gif
new file mode 100644
index 0000000..732109b
--- /dev/null
+++ b/doxygen/img/Groups_fig11_b.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig11_c.gif b/doxygen/img/Groups_fig11_c.gif
new file mode 100644
index 0000000..f1444eb
--- /dev/null
+++ b/doxygen/img/Groups_fig11_c.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig11_d.gif b/doxygen/img/Groups_fig11_d.gif
new file mode 100644
index 0000000..ee1b740
--- /dev/null
+++ b/doxygen/img/Groups_fig11_d.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig2.gif b/doxygen/img/Groups_fig2.gif
new file mode 100644
index 0000000..d14b0ff
--- /dev/null
+++ b/doxygen/img/Groups_fig2.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig3.gif b/doxygen/img/Groups_fig3.gif
new file mode 100644
index 0000000..aaa1fe7
--- /dev/null
+++ b/doxygen/img/Groups_fig3.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig4.gif b/doxygen/img/Groups_fig4.gif
new file mode 100644
index 0000000..a077bf3
--- /dev/null
+++ b/doxygen/img/Groups_fig4.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig5.gif b/doxygen/img/Groups_fig5.gif
new file mode 100644
index 0000000..55ddc3c
--- /dev/null
+++ b/doxygen/img/Groups_fig5.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig6.gif b/doxygen/img/Groups_fig6.gif
new file mode 100644
index 0000000..53a18d4
--- /dev/null
+++ b/doxygen/img/Groups_fig6.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig9_a.gif b/doxygen/img/Groups_fig9_a.gif
new file mode 100644
index 0000000..af0ab69
--- /dev/null
+++ b/doxygen/img/Groups_fig9_a.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig9_aa.gif b/doxygen/img/Groups_fig9_aa.gif
new file mode 100644
index 0000000..43ed356
--- /dev/null
+++ b/doxygen/img/Groups_fig9_aa.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig9_b.gif b/doxygen/img/Groups_fig9_b.gif
new file mode 100644
index 0000000..b07ec9c
--- /dev/null
+++ b/doxygen/img/Groups_fig9_b.gif
Binary files differ
diff --git a/doxygen/img/Groups_fig9_bb.gif b/doxygen/img/Groups_fig9_bb.gif
new file mode 100644
index 0000000..e13f534
--- /dev/null
+++ b/doxygen/img/Groups_fig9_bb.gif
Binary files differ
diff --git a/doxygen/img/Pmodel_fig2.gif b/doxygen/img/Pmodel_fig2.gif
new file mode 100644
index 0000000..8be15fb
--- /dev/null
+++ b/doxygen/img/Pmodel_fig2.gif
Binary files differ
diff --git a/doxygen/img/Pmodel_fig3.gif b/doxygen/img/Pmodel_fig3.gif
new file mode 100644
index 0000000..211f2ab
--- /dev/null
+++ b/doxygen/img/Pmodel_fig3.gif
Binary files differ
diff --git a/doxygen/img/Pmodel_fig5_a.gif b/doxygen/img/Pmodel_fig5_a.gif
new file mode 100644
index 0000000..6607b1c
--- /dev/null
+++ b/doxygen/img/Pmodel_fig5_a.gif
Binary files differ
diff --git a/doxygen/img/Pmodel_fig5_b.gif b/doxygen/img/Pmodel_fig5_b.gif
new file mode 100644
index 0000000..548df28
--- /dev/null
+++ b/doxygen/img/Pmodel_fig5_b.gif
Binary files differ
diff --git a/doxygen/img/Pmodel_fig5_c.gif b/doxygen/img/Pmodel_fig5_c.gif
new file mode 100644
index 0000000..459bc66
--- /dev/null
+++ b/doxygen/img/Pmodel_fig5_c.gif
Binary files differ
diff --git a/doxygen/img/Pmodel_fig5_d.gif b/doxygen/img/Pmodel_fig5_d.gif
new file mode 100644
index 0000000..207350d
--- /dev/null
+++ b/doxygen/img/Pmodel_fig5_d.gif
Binary files differ
diff --git a/doxygen/img/Pmodel_fig5_e.gif b/doxygen/img/Pmodel_fig5_e.gif
new file mode 100644
index 0000000..ee4f656
--- /dev/null
+++ b/doxygen/img/Pmodel_fig5_e.gif
Binary files differ
diff --git a/doxygen/img/Pmodel_fig6.gif b/doxygen/img/Pmodel_fig6.gif
new file mode 100644
index 0000000..2dac825
--- /dev/null
+++ b/doxygen/img/Pmodel_fig6.gif
Binary files differ
diff --git a/doxygen/img/PropListClassInheritance.gif b/doxygen/img/PropListClassInheritance.gif
new file mode 100644
index 0000000..c6f0309
--- /dev/null
+++ b/doxygen/img/PropListClassInheritance.gif
Binary files differ
diff --git a/doxygen/img/PropListEcosystem.gif b/doxygen/img/PropListEcosystem.gif
new file mode 100644
index 0000000..cf77ba4
--- /dev/null
+++ b/doxygen/img/PropListEcosystem.gif
Binary files differ
diff --git a/doxygen/img/Shared_Attribute.jpg b/doxygen/img/Shared_Attribute.jpg
new file mode 100644
index 0000000..058eeec
--- /dev/null
+++ b/doxygen/img/Shared_Attribute.jpg
Binary files differ
diff --git a/doxygen/img/UML_Attribute.jpg b/doxygen/img/UML_Attribute.jpg
new file mode 100644
index 0000000..5b3db7d
--- /dev/null
+++ b/doxygen/img/UML_Attribute.jpg
Binary files differ
diff --git a/doxygen/img/UML_FileAndProps.gif b/doxygen/img/UML_FileAndProps.gif
new file mode 100644
index 0000000..1de96c6
--- /dev/null
+++ b/doxygen/img/UML_FileAndProps.gif
Binary files differ
diff --git a/doxygen/img/VFL_Drivers.gif b/doxygen/img/VFL_Drivers.gif
new file mode 100644
index 0000000..4b626c6
--- /dev/null
+++ b/doxygen/img/VFL_Drivers.gif
Binary files differ
diff --git a/doxygen/img/dtypes_fig25b.gif b/doxygen/img/dtypes_fig25b.gif
new file mode 100644
index 0000000..9dbc225
--- /dev/null
+++ b/doxygen/img/dtypes_fig25b.gif
Binary files differ