HDF5 C++ API Reference Manual |
00001 // C++ informative line for the emacs editor: -*- C++ -*- 00002 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00003 * Copyright by The HDF Group. * 00004 * Copyright by the Board of Trustees of the University of Illinois. * 00005 * All rights reserved. * 00006 * * 00007 * This file is part of HDF5. The full HDF5 copyright notice, including * 00008 * terms governing use, modification, and redistribution, is contained in * 00009 * the files COPYING and Copyright.html. COPYING can be found at the root * 00010 * of the source code distribution tree; Copyright.html can be found at the * 00011 * root level of an installed copy of the electronic HDF5 document set and * 00012 * is linked from the top-level documents page. It can also be found at * 00013 * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * 00014 * access to either file, you may request a copy from help@hdfgroup.org. * 00015 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 00016 00017 #ifndef _H5Group_H 00018 #define _H5Group_H 00019 00020 #ifndef H5_NO_NAMESPACE 00021 namespace H5 { 00022 #endif 00023 00024 class H5_DLLCPP Group : public H5Object, public CommonFG { 00025 public: 00026 // Close this group. 00027 virtual void close(); 00028 00029 // Retrieves the type of object that an object reference points to. 00030 H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const; 00031 00032 // Retrieves a dataspace with the region pointed to selected. 00033 DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const; 00034 00035 // Returns this class name 00036 virtual H5std_string fromClass () const { return("Group"); } 00037 00038 // Throw group exception. 00039 virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const; 00040 00041 // for CommonFG to get the file id. 00042 virtual hid_t getLocId() const; 00043 00044 // Creates a group by way of dereference. 00045 Group(H5Object& obj, void* ref, H5R_type_t ref_type = H5R_OBJECT); 00046 Group(H5File& h5file, void* ref, H5R_type_t ref_type = H5R_OBJECT); 00047 Group(Attribute& attr, void* ref, H5R_type_t ref_type = H5R_OBJECT); 00048 00049 // default constructor 00050 Group(); 00051 00052 // Copy constructor: makes a copy of the original object 00053 Group(const Group& original); 00054 00055 // Gets the group id. 00056 virtual hid_t getId() const; 00057 00058 // Creates a copy of an existing group using its id. 00059 Group( const hid_t group_id ); 00060 00061 // Destructor 00062 virtual ~Group(); 00063 00064 protected: 00065 // Sets the group id. 00066 virtual void p_setId(const hid_t new_id); 00067 00068 private: 00069 hid_t id; // HDF5 group id 00070 }; 00071 #ifndef H5_NO_NAMESPACE 00072 } 00073 #endif 00074 #endif