Files
hdf5/doc/html/cpplus_RM/H5Object_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

429 lines
19 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>H5Object.h</h1><a href="H5Object_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 _H5Object_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5Object_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "<a class="code" href="H5Classes_8h.html">H5Classes.h</a>"</span> <span class="comment">// constains forward class declarations</span>
00020
00021 <span class="comment">// H5Object is a baseclass. It has these subclasses: </span>
00022 <span class="comment">// Group, AbstractDs, and DataType. </span>
00023 <span class="comment">// AbstractDs, in turn, has subclasses DataSet and Attribute.</span>
00024 <span class="comment">// DataType, in turn, has several specific datatypes as subclasses.</span>
00025
00026 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
00027 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
00028 <span class="preprocessor">#endif</span>
00029 <span class="preprocessor"></span>
00030 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
00031 <span class="preprocessor"></span><span class="keyword">class </span>H5_DLLCPP H5Object; <span class="comment">// forward declaration for UserData4Aiterate</span>
00032
00033 <span class="comment">// Define the operator function pointer for H5Aiterate().</span>
00034 <span class="keyword">typedef</span> void (*attr_operator_t)( H5Object&amp; loc<span class="comment">/*in*/</span>,
00035 <span class="keyword">const</span> string attr_name<span class="comment">/*in*/</span>,
00036 <span class="keywordtype">void</span> *operator_data<span class="comment">/*in,out*/</span>);
00037
00038 <span class="keyword">class </span>UserData4Aiterate { <span class="comment">// user data for attribute iteration</span>
00039 <span class="keyword">public</span>:
00040 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* idx;
00041 attr_operator_t op;
00042 <span class="keywordtype">void</span>* opData;
00043 H5Object* object;
00044 };
00045 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
00046 <span class="preprocessor"></span>
00047 <span class="comment">// The above part is being moved into Iterator, but not completed</span>
00048
<a name="l00049"></a><a class="code" href="classH5_1_1H5Object.html">00049</a> <span class="keyword">class </span>H5_DLLCPP H5Object : <span class="keyword">public</span> <a class="code" href="classH5_1_1IdComponent.html">IdComponent</a> {
00050 <span class="keyword">public</span>:
00051 <span class="comment">// Creates an attribute for a group, dataset, or named datatype.</span>
00052 <span class="comment">// PropList is currently not used, so always be default.</span>
00053 <a class="code" href="classH5_1_1Attribute.html">Attribute</a> createAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space, <span class="keyword">const</span> <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; create_plist = PropList::DEFAULT ) <span class="keyword">const</span>;
00054 <a class="code" href="classH5_1_1Attribute.html">Attribute</a> createAttribute( <span class="keyword">const</span> string&amp; name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space, <span class="keyword">const</span> <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; create_plist = PropList::DEFAULT ) <span class="keyword">const</span>;
00055
00056 <span class="comment">// Opens an attribute given its name.</span>
00057 <a class="code" href="classH5_1_1Attribute.html">Attribute</a> openAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;
00058 <a class="code" href="classH5_1_1Attribute.html">Attribute</a> openAttribute( <span class="keyword">const</span> string&amp; name ) <span class="keyword">const</span>;
00059
00060 <span class="comment">// Opens an attribute given its index.</span>
00061 <a class="code" href="classH5_1_1Attribute.html">Attribute</a> openAttribute( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx ) <span class="keyword">const</span>;
00062
00063 <span class="comment">// Flushes all buffers associated with this object to disk</span>
00064 <span class="keywordtype">void</span> flush( H5F_scope_t scope ) <span class="keyword">const</span>;
00065
00066 <span class="comment">// Gets the name of the file, in which this HDF5 object belongs.</span>
00067 string getFileName() <span class="keyword">const</span>;
00068
00069 <span class="comment">// Determines the number of attributes attached to this object.</span>
00070 <span class="keywordtype">int</span> getNumAttrs() <span class="keyword">const</span>;
00071
00072 <span class="comment">// Iterate user's function over the attributes of this object</span>
00073 <span class="keywordtype">int</span> iterateAttrs( attr_operator_t user_op, <span class="keywordtype">unsigned</span>* idx = NULL, <span class="keywordtype">void</span>* op_data = NULL );
00074
00075 <span class="comment">// Removes the named attribute from this object.</span>
00076 <span class="keywordtype">void</span> removeAttr( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;
00077 <span class="keywordtype">void</span> removeAttr( <span class="keyword">const</span> string&amp; name ) <span class="keyword">const</span>;
00078
00079 <span class="comment">// Copy constructor: makes copy of an H5Object object.</span>
00080 H5Object(<span class="keyword">const</span> H5Object&amp; original);
00081
00082 <span class="comment">// Noop destructor.</span>
00083 <span class="keyword">virtual</span> ~H5Object();
00084
00085 <span class="keyword">protected</span>:
00086 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
00087 <span class="preprocessor"></span> <span class="comment">// Default constructor</span>
00088 H5Object();
00089
00090 <span class="comment">// Creates a copy of an existing object giving the object id</span>
00091 H5Object( <span class="keyword">const</span> hid_t object_id );
00092 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
00093 <span class="preprocessor"></span>
00094 }; <span class="comment">/* end class H5Object */</span>
00095
00096 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
00097 <span class="preprocessor"></span>}
00098 <span class="preprocessor">#endif</span>
00099 <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>