Files
hdf5/doc/html/cpplus_RM/H5IdComponent_8h-source.html
Frank Baker c17fb6fa1d [svn-r9028]
Purpose:
    Adding C++ Reference Manual to 1.6 release branch.
    This manual is automatically generated
    by doxygen from the C++ source code.
Platforms tested:
    Mozilla, Safari, IE 5
2004-08-05 16:22:19 -05:00

433 lines
18 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="header_files/filelist.xml">
<link rel=Edit-Time-Data href="header_files/editdata.mso">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>Main Page</title>
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>Randy Ribler</o:Author>
<o:Template>Normal</o:Template>
<o:LastAuthor>Randy Ribler</o:LastAuthor>
<o:Revision>6</o:Revision>
<o:TotalTime>16</o:TotalTime>
<o:Created>2004-07-23T05:34:00Z</o:Created>
<o:LastSaved>2004-07-23T06:03:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>5</o:Words>
<o:Characters>32</o:Characters>
<o:Company>LC</o:Company>
<o:Lines>1</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:CharactersWithSpaces>36</o:CharactersWithSpaces>
<o:Version>10.2625</o:Version>
</o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:GrammarState>Clean</w:GrammarState>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<link rel=Stylesheet type="text/css" media=all href=doxygen.css>
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-believe-normal-left:yes;}
h1
{mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
text-align:center;
mso-pagination:widow-orphan;
mso-outline-level:1;
font-size:24.0pt;
font-family:"Times New Roman";
font-weight:bold;}
h2
{mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
mso-pagination:widow-orphan;
mso-outline-level:2;
font-size:18.0pt;
font-family:"Times New Roman";
font-weight:bold;}
a:link, span.MsoHyperlink
{color:#252E78;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{color:#3D2185;
text-decoration:underline;
text-underline:single;}
p
{mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
address
{margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
font-style:italic;}
pre
{margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
font-size:10.0pt;
font-family:"Courier New";
mso-fareast-font-family:"Times New Roman";}
p.formuladsp, li.formuladsp, div.formuladsp
{mso-style-name:formuladsp;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
text-align:center;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
p.mdtable, li.mdtable, div.mdtable
{mso-style-name:mdtable;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
mso-pagination:widow-orphan;
background:#F4F4FB;
border:none;
mso-border-alt:solid #868686 .75pt;
padding:0in;
mso-padding-alt:0in 0in 0in 0in;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
p.mdrow, li.mdrow, div.mdrow
{mso-style-name:mdrow;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
p.mdescleft, li.mdescleft, div.mdescleft
{mso-style-name:mdescleft;
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
background:#FAFAFA;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
font-style:italic;}
p.mdescright, li.mdescright, div.mdescright
{mso-style-name:mdescright;
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
background:#FAFAFA;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
font-style:italic;}
p.memitemleft, li.memitemleft, div.memitemleft
{mso-style-name:memitemleft;
margin:3.0pt;
mso-pagination:widow-orphan;
background:#FAFAFA;
border:none;
mso-border-top-alt:solid #E0E0E0 .75pt;
padding:0in;
mso-padding-alt:1.0pt 0in 0in 0in;
font-size:9.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
p.memitemright, li.memitemright, div.memitemright
{mso-style-name:memitemright;
margin:3.0pt;
mso-pagination:widow-orphan;
background:#FAFAFA;
border:none;
mso-border-top-alt:solid #E0E0E0 .75pt;
padding:0in;
mso-padding-alt:1.0pt 0in 0in 0in;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
p.search, li.search, div.search
{mso-style-name:search;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
font-weight:bold;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
table.MsoTableGrid
{mso-style-name:"Table Grid";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
</style>
<![endif]--><![if mso 9]>
<style>
p.MsoNormal
{margin-left:15.0pt;}
</style>
<![endif]><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="4098">
<o:colormru v:ext="edit" colors="#060"/>
<o:colormenu v:ext="edit" strokecolor="#060"/>
</o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor=white lang=EN-US link="#252E78" vlink="#3D2185" style='tab-interval:
.5in;margin-left:15.0pt;margin-right:15.0pt'>
<div class=Section1>
<p class=MsoNormal style='margin-top:0in;margin-right:15.0pt;margin-bottom:
0in;margin-left:15.0pt;margin-bottom:.0001pt'><!--[if gte vml 1]><v:shapetype
id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" style='position:absolute;
left:0;text-align:left;margin-left:30pt;margin-top:9pt;width:72.75pt;height:57.75pt;
z-index:1'>
<v:imagedata src="header_files/image001.jpg" o:title="NCSAlogo"/>
</v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
absolute;z-index:1;left:0px;margin-left:40px;margin-top:12px;width:97px;
height:77px'><img width=97 height=77 src="header_files/image002.jpg" v:shapes="_x0000_s1026"></span><![endif]><span
style='mso-spacerun:yes'> </span><b style='mso-bidi-font-weight:normal'><span
style='font-size:22.0pt'><o:p></o:p></span></b></p>
<div align=center>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='margin-left:103.45pt;border-collapse:collapse;border:none;mso-border-bottom-alt:
solid #006600 2.25pt;mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
<tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:29.25pt'>
<td width=443 valign=top style='width:332.6pt;border:none;border-bottom:solid #006600 2.25pt;
padding:0in 5.4pt 0in 5.4pt;height:29.25pt'>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:22.0pt'>HDF5 C++ API Reference Manual</span></b></p>
</td>
</tr>
</table>
</div>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>
<!-- Generated by Doxygen 1.3.7-20040718 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
<h1>H5IdComponent.h</h1><a href="H5IdComponent_8h.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois. *</span>
00004 <span class="comment"> * All rights reserved. *</span>
00005 <span class="comment"> * *</span>
00006 <span class="comment"> * This file is part of HDF5. The full HDF5 copyright notice, including *</span>
00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in *</span>
00008 <span class="comment"> * the files COPYING and Copyright.html. COPYING can be found at the root *</span>
00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the *</span>
00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and *</span>
00011 <span class="comment"> * is linked from the top-level documents page. It can also be found at *</span>
00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *</span>
00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *</span>
00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
00015
00016 <span class="preprocessor">#ifndef _IdComponent_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define _IdComponent_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="comment">// IdComponent provides a mechanism to handle</span>
00020 <span class="comment">// reference counting for an identifier of any HDF5 object.</span>
00021
00022 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
00023 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
00024 <span class="preprocessor">#endif</span>
00025 <span class="preprocessor"></span>
<a name="l00026"></a><a class="code" href="classH5_1_1IdComponent.html">00026</a> <span class="keyword">class </span>H5_DLLCPP IdComponent {
00027 <span class="keyword">public</span>:
00028 <span class="comment">// Increment reference counter</span>
00029 <span class="keywordtype">void</span> incRefCount();
00030
00031 <span class="comment">// Decrement reference counter</span>
00032 <span class="keywordtype">void</span> decRefCount();
00033
00034 <span class="comment">// Get the reference counter to this identifier</span>
00035 <span class="keywordtype">int</span> getCounter();
00036
00037 <span class="comment">// Decrements the reference counter then determines if there are no more</span>
00038 <span class="comment">// reference to this object</span>
00039 <span class="keywordtype">bool</span> noReference();
00040
00041 <span class="comment">// Assignment operator</span>
00042 IdComponent&amp; operator=( <span class="keyword">const</span> IdComponent&amp; rhs );
00043
00044 <span class="keywordtype">void</span> reset();
00045
00046 <span class="comment">// Sets the identifier of this object to a new value.</span>
00047 <span class="keywordtype">void</span> setId( hid_t new_id );
00048
00049 <span class="comment">// Creates an object to hold an HDF5 identifier</span>
00050 IdComponent( <span class="keyword">const</span> hid_t h5_id );
00051
00052 <span class="comment">// Copy constructor: makes copy of the original IdComponent object.</span>
00053 IdComponent( <span class="keyword">const</span> IdComponent&amp; original );
00054
00055 <span class="comment">// Gets the value of IdComponent's data member</span>
00056 <span class="keyword">virtual</span> hid_t getId () <span class="keyword">const</span>;
00057
00058 <span class="comment">// Pure virtual function so appropriate close function can</span>
00059 <span class="comment">// be called by subclasses' for the corresponding object</span>
00060 <span class="comment">// This function will be obsolete because its functionality</span>
00061 <span class="comment">// is recently handled by the C library layer.</span>
00062 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
00063 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> p_close() <span class="keyword">const</span> = 0;
00064 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
00065 <span class="preprocessor"></span>
00066 <span class="comment">// Destructor</span>
00067 <span class="keyword">virtual</span> ~IdComponent();
00068
00069 <span class="keyword">protected</span>:
00070 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
00071 <span class="preprocessor"></span> hid_t <span class="keywordtype">id</span>; <span class="comment">// HDF5 object id</span>
00072 <a class="code" href="classH5_1_1RefCounter.html">RefCounter</a>* ref_count; <span class="comment">// used to keep track of the</span>
00073 <span class="comment">// number of copies of an object</span>
00074
00075 <span class="comment">// Default constructor.</span>
00076 IdComponent();
00077
00078 <span class="comment">// Gets the name of the file, in which an HDF5 object belongs.</span>
00079 <span class="preprocessor">#ifndef H5_NO_STD</span>
00080 <span class="preprocessor"></span> std::string p_get_file_name() <span class="keyword">const</span>;
00081 <span class="preprocessor">#else</span>
00082 <span class="preprocessor"></span> string p_get_file_name() <span class="keyword">const</span>;
00083 <span class="preprocessor">#endif // H5_NO_STD</span>
00084 <span class="preprocessor"></span>
00085 <span class="comment">// Gets the id of the H5 file in which the given object is located.</span>
00086 hid_t p_get_file_id();
00087
00088 <span class="comment">// Creates a reference to an HDF5 object or a dataset region.</span>
00089 <span class="keywordtype">void</span>* p_reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, hid_t space_id, H5R_type_t ref_type) <span class="keyword">const</span>;
00090
00091 <span class="comment">// Retrieves the type of object that an object reference points to.</span>
00092 H5G_obj_t p_get_obj_type(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type) <span class="keyword">const</span>;
00093
00094 <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
00095 hid_t p_get_region(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type) <span class="keyword">const</span>;
00096 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
00097 <span class="preprocessor"></span>
00098 }; <span class="comment">// end class IdComponent</span>
00099
00100 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
00101 <span class="preprocessor"></span>}
00102 <span class="preprocessor">#endif</span>
00103 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
</div></pre><hr size="1"><address style="align: right;"><small>Generated on Thu Aug 5 00:22:37 2004 by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7-20040718 </small></address>
</body>
</html>