FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
H++/H5Property.hpp
1#ifndef __H5_PROPERTY_HPP
2#define __H5_PROPERTY_HPP
3
4#include "H5Object.hpp"
5
6#include <string>
7
12{
13protected:
14 H5Property(hid_t);
16
17public:
18
24static hid_t getId(const refptr<H5Property>&P);
25};
26
28{
29public:
31
32 H5LinkCreateProperty(bool create_intermediate_group)
34 {
35 set_create_intermediate_group( create_intermediate_group );
36 }
37
41 herr_t set_create_intermediate_group(bool intermediate);
42};
43
45{
46public:
48
52 herr_t set_create_intermediate_group(bool intermediate);
53};
54
55
57{
58protected:
59 H5LinkAccess(hid_t);
60
61public:
62 using elink_callback = std::function<
63 herr_t (const char *parent_file_name, const char
64 *parent_group_name, const char *child_file_name, const char
65 *child_object_name, unsigned *acc_flags, hid_t fapl_id)>;
66
67 typedef herr_t elink_callback_f(const char *parent_file_name, const char
68 *parent_group_name, const char *child_file_name, const char
69 *child_object_name, unsigned *acc_flags, hid_t fapl_id, void *op_data);
70
71
72 herr_t set_elink_fapl(hid_t fapl_id);
73 herr_t set_elink_prefix(const char*prefix);
74
75 herr_t set_elink_cb(elink_callback_f f, void*op_data = nullptr);
76 herr_t set_elink_cb(elink_callback&F);
77
78
85 herr_t set_elink_acc_flags(unsigned flags)
86 {
87 return H5Pset_elink_acc_flags(hid, flags);
88 }
89
90 herr_t open_external_links_readonly() { return set_elink_acc_flags(H5F_ACC_RDONLY); }
91 herr_t open_external_links_writeable() { return set_elink_acc_flags(H5F_ACC_RDWR); }
92 herr_t open_external_links_like_container() { return set_elink_acc_flags(H5F_ACC_DEFAULT); }
93
94};
95
98{
99public:
101
105 herr_t set_elink_fapl(hid_t fapl_id);
106
108 herr_t set_elink_prefix(const char*prefix);
109
111 herr_t set_elink_prefix(const std::string&prefix)
112 {
113 if (!prefix.empty())
114 return set_elink_prefix(prefix.c_str());
115
116 return 0;
117 }
118};
119
121{
122public:
124};
125
130{
131public:
133
139};
140
141
142#endif // __H5_PROPERTY_HPP
Definition H++/H5Property.hpp:121
Definition H++/H5Property.hpp:98
herr_t set_elink_fapl(hid_t fapl_id)
Set the virtual file driver for the elink.
Definition H++/H5Property.cpp:75
An HDF5 property related to accessing groups.
Definition H++/H5Property.hpp:130
void set_all_coll_metadata_ops(bool on)
Parallel HDF5: Sets metadata I/O mode for read operations to be collective or independent (default).
Definition H++/H5Property.hpp:45
herr_t set_create_intermediate_group(bool intermediate)
H5Pset_create_intermediate_group.
Definition H++/H5Object.hpp:14
Definition H++/H5Property.hpp:57
herr_t set_elink_acc_flags(unsigned flags)
H5Pset_elink_acc_flags(); Possible values;.
Definition H++/H5Property.hpp:85
Definition H++/H5Property.hpp:28
herr_t set_create_intermediate_group(bool intermediate)
H5Pset_create_intermediate_group.
Definition H++/H5Property.cpp:30
Representing an HDF5 property.
Definition H++/H5Property.hpp:12
static hid_t getId(const refptr< H5Property > &P)
Return the associated HDF5 ID if this is a valid pointer, otherwise return H5P_DEFAULT .