9 #ifndef RMF_HDF5_GROUP_H
10 #define RMF_HDF5_GROUP_H
12 #include "RMF/config.h"
21 typedef MutableAttributes<ConstGroup> GroupAttributes;
23 typedef std::vector<GroupAttributes> GroupAttributesList;
33 unsigned int get_number_of_links()
const {
36 unsigned int n = info.nlinks;
41 Group(std::shared_ptr<SharedHandle> h);
45 #if !defined(RMF_DOXYGEN) && !defined(SWIG)
47 return Group(g.get_shared_handle());
51 RMF_SHOWABLE(
Group,
"Group " << get_name());
55 Group add_child_group(std::string name);
56 template <
class TypeTraits,
unsigned int D>
61 template <
class TypeTraits,
unsigned int D>
66 template <
class TypeTraits,
unsigned int D>
71 template <
class TypeTraits,
unsigned int D>
76 #define RMF_HDF5_DATA_SET_METHODS_D(lcname, UCName, PassValue, ReturnValue, \
77 PassValues, ReturnValues, D) \
78 DataSetD<UCName##Traits, D> get_child_##lcname##_data_set_##D##d( \
80 DataSetAccessPropertiesD<UCName##Traits, D> props) const { \
81 return get_child_data_set<UCName##Traits, D>(name, props); \
83 DataSetD<UCName##Traits, D> add_child_##lcname##_data_set_##D##d( \
84 std::string name, DataSetCreationPropertiesD<UCName##Traits, D> props) { \
85 return add_child_data_set<UCName##Traits, D>(name, props); \
87 DataSetD<UCName##Traits, D> get_child_##lcname##_data_set_##D##d( \
88 std::string name) const { \
89 DataSetAccessPropertiesD<UCName##Traits, D> props; \
90 return get_child_data_set<UCName##Traits, D>(name, props); \
92 DataSetD<UCName##Traits, D> add_child_##lcname##_data_set_##D##d( \
94 DataSetCreationPropertiesD<UCName##Traits, D> props; \
95 return add_child_data_set<UCName##Traits, D>(name, props); \
98 #define RMF_HDF5_DATA_SET_METHODS(lcname, UCName, PassValue, ReturnValue, \
99 PassValues, ReturnValues) \
100 RMF_HDF5_DATA_SET_METHODS_D(lcname, UCName, PassValue, ReturnValue, \
101 PassValues, ReturnValues, 1); \
102 RMF_HDF5_DATA_SET_METHODS_D(lcname, UCName, PassValue, ReturnValue, \
103 PassValues, ReturnValues, 2); \
104 RMF_HDF5_DATA_SET_METHODS_D(lcname, UCName, PassValue, ReturnValue, \
105 PassValues, ReturnValues, 3)
112 RMF_HDF5_FOREACH_TYPE(RMF_HDF5_DATA_SET_METHODS);
115 Group get_child_group(
unsigned int i)
const;
120 Group get_child_group(std::string name)
const;
Handle read/write of Model data from/to files.
Handle read/write of Model data from/to files.