Files
hdf5/doc/html/cpplus_RM/create_8cpp-example.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

464 lines
17 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>create.cpp</h1><dl compact><dt><b>Dataset example:</b></dt><dd>This example shows how to create datasets. <div class="fragment"><pre><span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
<span class="comment"> * Copyright by the Board of Trustees of the University of Illinois. *</span>
<span class="comment"> * All rights reserved. *</span>
<span class="comment"> * *</span>
<span class="comment"> * This file is part of HDF5. The full HDF5 copyright notice, including *</span>
<span class="comment"> * terms governing use, modification, and redistribution, is contained in *</span>
<span class="comment"> * the files COPYING and Copyright.html. COPYING can be found at the root *</span>
<span class="comment"> * of the source code distribution tree; Copyright.html can be found at the *</span>
<span class="comment"> * root level of an installed copy of the electronic HDF5 document set and *</span>
<span class="comment"> * is linked from the top-level documents page. It can also be found at *</span>
<span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *</span>
<span class="comment"> * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *</span>
<span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
<span class="comment">/* </span>
<span class="comment"> * This example writes a dataset to a new HDF5 file.</span>
<span class="comment"> */</span>
<span class="preprocessor">#include &lt;string&gt;</span>
<span class="preprocessor">#ifdef OLD_HEADER_FILENAME</span>
<span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream.h&gt;</span>
<span class="preprocessor">#else</span>
<span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream&gt;</span>
<span class="preprocessor">#endif</span>
<span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
<span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
<span class="preprocessor"></span><span class="keyword">using</span> <span class="keyword">namespace </span>H5;
<span class="preprocessor">#endif</span>
<span class="preprocessor"></span>
<span class="keyword">const</span> string FILE_NAME( <span class="stringliteral">"SDS.h5"</span> );
<span class="keyword">const</span> string DATASET_NAME( <span class="stringliteral">"IntArray"</span> );
<span class="keyword">const</span> <span class="keywordtype">int</span> NX = 5; <span class="comment">// dataset dimensions</span>
<span class="keyword">const</span> <span class="keywordtype">int</span> NY = 6;
<span class="keyword">const</span> <span class="keywordtype">int</span> RANK = 2;
<span class="keywordtype">int</span> main (<span class="keywordtype">void</span>)
{
<span class="comment">/* </span>
<span class="comment"> * Data initialization. </span>
<span class="comment"> */</span>
<span class="keywordtype">int</span> i, j;
<span class="keywordtype">int</span> data[NX][NY]; <span class="comment">// buffer for data to write</span>
<span class="keywordflow">for</span> (j = 0; j &lt; NX; j++)
{
<span class="keywordflow">for</span> (i = 0; i &lt; NY; i++)
data[j][i] = i + j;
}
<span class="comment">/*</span>
<span class="comment"> * 0 1 2 3 4 5 </span>
<span class="comment"> * 1 2 3 4 5 6</span>
<span class="comment"> * 2 3 4 5 6 7</span>
<span class="comment"> * 3 4 5 6 7 8</span>
<span class="comment"> * 4 5 6 7 8 9</span>
<span class="comment"> */</span>
<span class="comment">// Try block to detect exceptions raised by any of the calls inside it</span>
<span class="keywordflow">try</span>
{
<span class="comment">/*</span>
<span class="comment"> * Turn off the auto-printing when failure occurs so that we can</span>
<span class="comment"> * handle the errors appropriately</span>
<span class="comment"> */</span>
Exception::dontPrint();
<span class="comment">/*</span>
<span class="comment"> * Create a new file using H5F_ACC_TRUNC access,</span>
<span class="comment"> * default file creation properties, and default file</span>
<span class="comment"> * access properties.</span>
<span class="comment"> */</span>
H5File file( FILE_NAME, H5F_ACC_TRUNC );
<span class="comment">/*</span>
<span class="comment"> * Define the size of the array and create the data space for fixed</span>
<span class="comment"> * size dataset. </span>
<span class="comment"> */</span>
hsize_t dimsf[2]; <span class="comment">// dataset dimensions</span>
dimsf[0] = NX;
dimsf[1] = NY;
DataSpace dataspace( RANK, dimsf );
<span class="comment">/*</span>
<span class="comment"> * Define datatype for the data in the file.</span>
<span class="comment"> * We will store little endian INT numbers.</span>
<span class="comment"> */</span>
IntType datatype( PredType::NATIVE_INT );
datatype.setOrder( H5T_ORDER_LE );
<span class="comment">/*</span>
<span class="comment"> * Create a new dataset within the file using defined dataspace and</span>
<span class="comment"> * datatype and default dataset creation properties.</span>
<span class="comment"> */</span>
DataSet dataset = file.createDataSet( DATASET_NAME, datatype, dataspace );
<span class="comment">/*</span>
<span class="comment"> * Write the data to the dataset using default memory space, file</span>
<span class="comment"> * space, and transfer properties.</span>
<span class="comment"> */</span>
dataset.write( data, PredType::NATIVE_INT );
} <span class="comment">// end of try block</span>
<span class="comment">// catch failure caused by the H5File operations</span>
<span class="keywordflow">catch</span>( FileIException error )
{
error.printError();
<span class="keywordflow">return</span> -1;
}
<span class="comment">// catch failure caused by the DataSet operations</span>
<span class="keywordflow">catch</span>( DataSetIException error )
{
error.printError();
<span class="keywordflow">return</span> -1;
}
<span class="comment">// catch failure caused by the DataSpace operations</span>
<span class="keywordflow">catch</span>( DataSpaceIException error )
{
error.printError();
<span class="keywordflow">return</span> -1;
}
<span class="comment">// catch failure caused by the DataSpace operations</span>
<span class="keywordflow">catch</span>( DataTypeIException error )
{
error.printError();
<span class="keywordflow">return</span> -1;
}
<span class="keywordflow">return</span> 0; <span class="comment">// successfully terminated</span>
}
</pre></div> </dd></dl>
<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>