1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#ifndef _H5File_H
#define _H5File_H
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
class H5File : public IdComponent {
public:
// copy constructor: makes a copy of the original H5File object.
H5File(const H5File& original );
// Creates or opens an HDF5 file.
H5File( const string& name, unsigned int flags,
const FileCreatPropList& create_plist = FileCreatPropList::DEFAULT,
const FileAccPropList& access_plist = FileAccPropList::DEFAULT );
H5File( const char* name, unsigned int flags,
const FileCreatPropList& create_plist = FileCreatPropList::DEFAULT,
const FileAccPropList& access_plist = FileAccPropList::DEFAULT );
// Sets and gets H5File's data member
//void setId( hid_t new_file_id );
//hid_t getId() const;
// Creates a new group in this file
Group createGroup( const string& name, size_t size_hint = 0 ) const;
Group createGroup( const char* name, size_t size_hint = 0 ) const;
// Opens an existing group in this file
Group openGroup( const string& name ) const;
Group openGroup( const char* name ) const;
// Determines if a file, specified by its name, is in HDF5 format
static bool isHdf5(const string& name );
static bool isHdf5(const char* name );
// Reopens this file
void reopen();
// Creates a new dataset in this file
DataSet createDataSet( const string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT ) const;
DataSet createDataSet( const char* name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT ) const;
// Opens a existing dataset in this file
DataSet openDataSet( const string& name ) const;
DataSet openDataSet( const char* name ) const;
// Opens a generic named datatype in this file
DataType openDataType( const string& name ) const;
DataType openDataType( const char* name ) const;
// Opens a named enumeration datatype in this file
EnumType openEnumType( const string& name ) const;
EnumType openEnumType( const char* name ) const;
// Opens a named compound datatype in this file
CompType openCompType( const string& name ) const;
CompType openCompType( const char* name ) const;
// Opens a named integer datatype in this file
IntType openIntType( const string& name ) const;
IntType openIntType( const char* name ) const;
// Opens a named floating-point datatype in this file
FloatType openFloatType( const string& name ) const;
FloatType openFloatType( const char* name ) const;
// Opens a named string datatype in this file
StrType openStrType( const string& name ) const;
StrType openStrType( const char* name ) const;
// Gets the creation property list of this file
FileCreatPropList getCreatePlist() const;
// Gets the access property list of this file
FileAccPropList getAccessPlist() const;
// Creates a link from new_name to current_name in this file
void link( H5G_link_t link_type, const string& curr_name, const string& new_name ) const;
void link( H5G_link_t link_type, const char* curr_name, const char* new_name ) const;
// Removes a name linked to this file
void unlink( const string& name ) const;
void unlink( const char* name ) const;
// Renames an object within this file
void move( const string& src, const string& dst ) const;
void move( const char* src, const char* dst ) const;
// Retrieves information about an object given its name and link
void getObjinfo( const string& name, hbool_t follow_link, H5G_stat_t& statbuf ) const;
void getObjinfo( const char* name, hbool_t follow_link, H5G_stat_t& statbuf ) const;
// Returns the name of the object that the symbolic link 'name'
// points to
string getLinkval( const string& name, size_t size ) const;
string getLinkval( const char* name, size_t size ) const;
// Sets the comment for an object specified by its name
void setComment( const string& name, const string& comment ) const;
void setComment( const char* name, const char* comment ) const;
// Gets the comment of an object specified by its name
string getComment( const string& name, size_t bufsize ) const;
string getComment( const char* name, size_t bufsize ) const;
// Mounts a file, specified by its name, to this file
void mount( const string& name, H5File& child, PropList& plist ) const;
void mount( const char* name, H5File& child, PropList& plist ) const;
// Unmounts a file, specified by its name, from this file
void unmount( const string& name ) const;
void unmount( const char* name ) const;
// Used by the API to appropriately close a file
void p_close() const;
virtual ~H5File();
private:
// Common code for member functions openXxxType - templates, maybe???
hid_t p_openDataType( const char* name ) const;
// This function is private and contains common code between the
// constructors taking a string or a char*
void getFile( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist );
};
#ifndef H5_NO_NAMESPACE
}
#endif
#endif
|