Skip to content

Commit

Permalink
Removed idioms and misc. text clean-up (#2320)
Browse files Browse the repository at this point in the history
* removed idioms and misc. text clean-up, Issue #2135

* removed idioms and misc. text clean-up, Issue #2135
  • Loading branch information
brtnfld authored Dec 17, 2022
1 parent 149b8e9 commit 70cf2c3
Showing 1 changed file with 4 additions and 9 deletions.
13 changes: 4 additions & 9 deletions doxygen/dox/ReferenceManual.dox
Original file line number Diff line number Diff line change
Expand Up @@ -145,31 +145,26 @@ Functions with \ref ASYNC<br />
</tr>
</table>

</td></tr>
<tr><th>Mind the gap</th></tr>
<tr><td>
Follow these simple rules and stay out of trouble:

\li \Bold{Handle discipline:} The HDF5 C-API is rife with handles or
\li \Bold{Handle discipline:} The HDF5 API is rife with handles or
identifiers, which you typically obtain by creating new HDF5 items, copying
items, or retrieving facets of items. \Emph{You acquire a handle, you own it!}
(Colin Powell) In other words, you are responsible for releasing the underlying
items, or retrieving facets of items. Consequently, \Bold{and most importantly}, you are
responsible for releasing the underlying
resources via the matching \Code{H5*close()} call, or deal with the consequences
of resource leakage.
\li \Bold{Closed means closed:} Do not pass identifiers that were previously
\Code{H5*close()}-d to other API functions! It will generate an error.
\li \Bold{Dynamic memory allocation:} The API contains a few functions in which the
HDF5 library dynamically allocates memory on the caller's behalf. The caller owns
this memory and eventually must free it by calling H5free_memory(). (\Bold{Not}
the `free` function \Emph{du jour}!)
this memory and eventually must free it by calling H5free_memory() and not language-explicit memory functions.
\li \Bold{Be careful with that saw:} Do not modify the underlying collection when an
iteration is in progress!
\li \Bold{Use of locations:} Certain API functions, typically called \Code{H5***_by_name}
use a combination of identifiers and path names to refer to HDF5 objects.
If the identifier fully specifies the object in question, pass \Code{'.'} (a dot)
for the name!

Break a leg!
</td>
</tr>
</table>
Expand Down

0 comments on commit 70cf2c3

Please sign in to comment.