summaryrefslogtreecommitdiffstats
path: root/c++/examples/h5group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'c++/examples/h5group.cpp')
-rw-r--r--c++/examples/h5group.cpp96
1 files changed, 43 insertions, 53 deletions
diff --git a/c++/examples/h5group.cpp b/c++/examples/h5group.cpp
index 6e1764f..5ea2094 100644
--- a/c++/examples/h5group.cpp
+++ b/c++/examples/h5group.cpp
@@ -6,7 +6,7 @@
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -29,33 +29,32 @@
#ifndef H5_NO_NAMESPACE
#ifndef H5_NO_STD
- using std::cout;
- using std::endl;
-#endif // H5_NO_STD
+using std::cout;
+using std::endl;
+#endif // H5_NO_STD
#endif
#include "H5Cpp.h"
#ifndef H5_NO_NAMESPACE
- using namespace H5;
+using namespace H5;
#endif
-const H5std_string FILE_NAME( "Group.h5" );
+const H5std_string FILE_NAME("Group.h5");
const int RANK = 2;
// Operator function
-extern "C" herr_t file_info(hid_t loc_id, const char *name, const H5L_info_t *linfo,
- void *opdata);
+extern "C" herr_t file_info(hid_t loc_id, const char *name, const H5L_info_t *linfo, void *opdata);
-int main(void)
+int
+main(void)
{
- hsize_t dims[2];
- hsize_t cdims[2];
+ hsize_t dims[2];
+ hsize_t cdims[2];
// Try block to detect exceptions raised by any of the calls inside it
- try
- {
+ try {
/*
* Turn off the auto-printing when failure occurs so that we can
* handle the errors appropriately
@@ -66,12 +65,12 @@ int main(void)
* Create the named file, truncating the existing one if any,
* using default create and access property lists.
*/
- H5File *file = new H5File( FILE_NAME, H5F_ACC_TRUNC );
+ H5File *file = new H5File(FILE_NAME, H5F_ACC_TRUNC);
/*
* Create a group in the file
*/
- Group* group = new Group( file->createGroup( "/Data" ));
+ Group *group = new Group(file->createGroup("/Data"));
/*
* Create dataset "Compressed Data" in the group using absolute
@@ -79,21 +78,20 @@ int main(void)
* GZIP compression with the compression effort set to 6.
* Note that compression can be used only when dataset is chunked.
*/
- dims[0] = 1000;
- dims[1] = 20;
- cdims[0] = 20;
- cdims[1] = 20;
- DataSpace *dataspace = new DataSpace(RANK, dims); // create new dspace
- DSetCreatPropList ds_creatplist; // create dataset creation prop list
- ds_creatplist.setChunk( 2, cdims ); // then modify it for compression
- ds_creatplist.setDeflate( 6 );
+ dims[0] = 1000;
+ dims[1] = 20;
+ cdims[0] = 20;
+ cdims[1] = 20;
+ DataSpace * dataspace = new DataSpace(RANK, dims); // create new dspace
+ DSetCreatPropList ds_creatplist; // create dataset creation prop list
+ ds_creatplist.setChunk(2, cdims); // then modify it for compression
+ ds_creatplist.setDeflate(6);
/*
* Create the first dataset.
*/
- DataSet* dataset = new DataSet(file->createDataSet(
- "/Data/Compressed_Data", PredType::NATIVE_INT,
- *dataspace, ds_creatplist ));
+ DataSet *dataset = new DataSet(
+ file->createDataSet("/Data/Compressed_Data", PredType::NATIVE_INT, *dataspace, ds_creatplist));
/*
* Close the first dataset.
@@ -104,11 +102,10 @@ int main(void)
/*
* Create the second dataset.
*/
- dims[0] = 500;
- dims[1] = 20;
+ dims[0] = 500;
+ dims[1] = 20;
dataspace = new DataSpace(RANK, dims); // create second dspace
- dataset = new DataSet(file->createDataSet("/Data/Float_Data",
- PredType::NATIVE_FLOAT, *dataspace));
+ dataset = new DataSet(file->createDataSet("/Data/Float_Data", PredType::NATIVE_FLOAT, *dataspace));
delete dataset;
delete dataspace;
@@ -118,16 +115,16 @@ int main(void)
/*
* Now reopen the file and group in the file.
*/
- file = new H5File(FILE_NAME, H5F_ACC_RDWR);
+ file = new H5File(FILE_NAME, H5F_ACC_RDWR);
group = new Group(file->openGroup("Data"));
/*
* Access "Compressed_Data" dataset in the group.
*/
- try { // to determine if the dataset exists in the group
- dataset = new DataSet( group->openDataSet( "Compressed_Data" ));
+ try { // to determine if the dataset exists in the group
+ dataset = new DataSet(group->openDataSet("Compressed_Data"));
}
- catch( GroupIException not_found_error ) {
+ catch (GroupIException not_found_error) {
cout << " Dataset is not found." << endl;
}
cout << "dataset \"/Data/Compressed_Data\" is open" << endl;
@@ -140,17 +137,16 @@ int main(void)
/*
* Create hard link to the Data group.
*/
- file->link( H5L_TYPE_HARD, "Data", "Data_new" );
+ file->link(H5L_TYPE_HARD, "Data", "Data_new");
/*
* We can access "Compressed_Data" dataset using created
* hard link "Data_new".
*/
- try { // to determine if the dataset exists in the file
- dataset = new DataSet(file->openDataSet( "/Data_new/Compressed_Data" ));
+ try { // to determine if the dataset exists in the file
+ dataset = new DataSet(file->openDataSet("/Data_new/Compressed_Data"));
}
- catch( FileIException not_found_error )
- {
+ catch (FileIException not_found_error) {
cout << " Dataset is not found." << endl;
}
cout << "dataset \"/Data_new/Compressed_Data\" is open" << endl;
@@ -173,11 +169,10 @@ int main(void)
* of the objects in the file root direvtory.
*/
cout << "Unlinking..." << endl;
- try { // attempt to unlink the dataset
- file->unlink( "Data" );
+ try { // attempt to unlink the dataset
+ file->unlink("Data");
}
- catch( FileIException unlink_error )
- {
+ catch (FileIException unlink_error) {
cout << " unlink failed." << endl;
}
cout << "\"Data\" is unlinked" << endl;
@@ -191,32 +186,28 @@ int main(void)
*/
delete group;
delete file;
- } // end of try block
+ } // end of try block
// catch failure caused by the H5File operations
- catch( FileIException error )
- {
+ catch (FileIException error) {
error.printError();
return -1;
}
// catch failure caused by the DataSet operations
- catch( DataSetIException error )
- {
+ catch (DataSetIException error) {
error.printError();
return -1;
}
// catch failure caused by the DataSpace operations
- catch( DataSpaceIException error )
- {
+ catch (DataSpaceIException error) {
error.printError();
return -1;
}
// catch failure caused by the Attribute operations
- catch( AttributeIException error )
- {
+ catch (AttributeIException error) {
error.printError();
return -1;
}
@@ -244,4 +235,3 @@ file_info(hid_t loc_id, const char *name, const H5L_info_t *linfo, void *opdata)
H5Gclose(group);
return 0;
}
-