Removed idioms and misc. text clean-up (#2320)
* removed idioms and misc. text clean-up, Issue #2135 * removed idioms and misc. text clean-up, Issue #2135
This commit is contained in:
@@ -145,23 +145,19 @@ Functions with \ref ASYNC<br />
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</td></tr>
|
|
||||||
<tr><th>Mind the gap</th></tr>
|
|
||||||
<tr><td>
|
|
||||||
Follow these simple rules and stay out of trouble:
|
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
|
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!}
|
items, or retrieving facets of items. Consequently, \Bold{and most importantly}, you are
|
||||||
(Colin Powell) In other words, you are responsible for releasing the underlying
|
responsible for releasing the underlying
|
||||||
resources via the matching \Code{H5*close()} call, or deal with the consequences
|
resources via the matching \Code{H5*close()} call, or deal with the consequences
|
||||||
of resource leakage.
|
of resource leakage.
|
||||||
\li \Bold{Closed means closed:} Do not pass identifiers that were previously
|
\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.
|
\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
|
\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
|
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}
|
this memory and eventually must free it by calling H5free_memory() and not language-explicit memory functions.
|
||||||
the `free` function \Emph{du jour}!)
|
|
||||||
\li \Bold{Be careful with that saw:} Do not modify the underlying collection when an
|
\li \Bold{Be careful with that saw:} Do not modify the underlying collection when an
|
||||||
iteration is in progress!
|
iteration is in progress!
|
||||||
\li \Bold{Use of locations:} Certain API functions, typically called \Code{H5***_by_name}
|
\li \Bold{Use of locations:} Certain API functions, typically called \Code{H5***_by_name}
|
||||||
@@ -169,7 +165,6 @@ Follow these simple rules and stay out of trouble:
|
|||||||
If the identifier fully specifies the object in question, pass \Code{'.'} (a dot)
|
If the identifier fully specifies the object in question, pass \Code{'.'} (a dot)
|
||||||
for the name!
|
for the name!
|
||||||
|
|
||||||
Break a leg!
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
Reference in New Issue
Block a user