HDF5 C++ API  1.8.12
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
H5PropList.h
Go to the documentation of this file.
1 // C++ informative line for the emacs editor: -*- C++ -*-
2 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3  * Copyright by The HDF Group. *
4  * Copyright by the Board of Trustees of the University of Illinois. *
5  * All rights reserved. *
6  * *
7  * This file is part of HDF5. The full HDF5 copyright notice, including *
8  * terms governing use, modification, and redistribution, is contained in *
9  * the files COPYING and Copyright.html. COPYING can be found at the root *
10  * of the source code distribution tree; Copyright.html can be found at the *
11  * root level of an installed copy of the electronic HDF5 document set and *
12  * is linked from the top-level documents page. It can also be found at *
13  * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
14  * access to either file, you may request a copy from help@hdfgroup.org. *
15  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
16 
17 #ifndef __H5PropList_H
18 #define __H5PropList_H
19 
20 #ifndef H5_NO_NAMESPACE
21 namespace H5 {
22 #endif
23 
25 class H5_DLLCPP PropList : public IdComponent {
26  public:
27  // Default property list
28  static const PropList DEFAULT;
29 
30  // Creates a property list of a given type or creates a copy of an
31  // existing property list giving the property list id.
32  PropList(const hid_t plist_id);
33 
34  // Make a copy of the given property list using assignment statement
35  PropList& operator=( const PropList& rhs );
36 
37  // Compares this property list or class against the given list or class.
38  bool operator==(const PropList& rhs) const;
39 
40  // Close this property list.
41  virtual void close();
42 
43  // Close a property list class.
44  void closeClass() const;
45 
46  // Makes a copy of the given property list.
47  void copy( const PropList& like_plist );
48 
49  // Copies a property from this property list or class to another
50  void copyProp( PropList& dest, const char* name) const;
51  void copyProp( PropList& dest, const H5std_string& name) const;
52 
53  // Copies a property from one property list or property class to another
54  void copyProp( PropList& dest, PropList& src, const char* name) const;
55  void copyProp( PropList& dest, PropList& src, const H5std_string& name) const;
56 
57  // Gets the class of this property list, i.e. H5P_FILE_CREATE,
58  // H5P_FILE_ACCESS, ...
59  hid_t getClass() const;
60 
61  // Return the name of a generic property list class.
62  H5std_string getClassName() const;
63 
64  // Returns the parent class of a generic property class.
65  PropList getClassParent() const;
66 
67  // Returns the number of properties in this property list or class.
68  size_t getNumProps() const;
69 
70  // Query the value of a property in a property list.
71  void getProperty(const char* name, void* value) const;
72  void getProperty(const H5std_string& name, void* value) const;
73  H5std_string getProperty(const char* name) const;
74  H5std_string getProperty(const H5std_string& name) const;
75 
76  // Set a property's value in a property list.
77  void setProperty(const char* name, void* value) const;
78  void setProperty(const char* name, const char* charptr) const;
79  void setProperty(const char* name, H5std_string& strg) const;
80  void setProperty(const H5std_string& name, void* value) const;
81  void setProperty(const H5std_string& name, H5std_string& strg) const;
82 
83  // Query the size of a property in a property list or class.
84  size_t getPropSize(const char *name) const;
85  size_t getPropSize(const H5std_string& name) const;
86 
87  // Determines whether a property list is a certain class.
88  bool isAClass(const PropList& prop_class) const;
89 
91  bool propExist(const char* name) const;
92  bool propExist(const H5std_string& name) const;
93 
94  // Removes a property from a property list.
95  void removeProp(const char *name) const;
96  void removeProp(const H5std_string& name) const;
97 
99  virtual H5std_string fromClass () const { return("PropList"); }
100 
101  // Default constructor: creates a stub PropList object.
102  PropList();
103 
104  // Copy constructor: creates a copy of a PropList object.
105  PropList(const PropList& original);
106 
107  // Gets the property list id.
108  virtual hid_t getId() const;
109 
110  // Destructor: properly terminates access to this property list.
111  virtual ~PropList();
112 
113  protected:
114 #ifndef DOXYGEN_SHOULD_SKIP_THIS
115  hid_t id; // HDF5 property list id
116 
117  // Sets the property list id.
118  virtual void p_setId(const hid_t new_id);
119 #endif // DOXYGEN_SHOULD_SKIP_THIS
120 };
121 
122 #ifndef H5_NO_NAMESPACE
123 }
124 #endif
125 #endif // __H5PropList_H
Class PropList provides operations for generic property lists.
Definition: H5PropList.h:25
Class IdComponent provides wrappers of the C functions that operate on an HDF5 identifier.
Definition: H5IdComponent.h:34
hid_t id
Definition: H5PropList.h:115
#define H5std_string
Definition: H5Exception.h:29
virtual H5std_string fromClass() const
Returns this class name.
Definition: H5PropList.h:99
static const PropList DEFAULT
Constant for default property.
Definition: H5PropList.h:28