9 #ifndef RMF_HDF5_OBJECT_H
10 #define RMF_HDF5_OBJECT_H
12 #include "RMF/config.h"
31 std::shared_ptr<SharedHandle> h_;
34 Object(std::shared_ptr<SharedHandle> h);
37 std::shared_ptr<SharedHandle> get_shared_handle()
const {
return h_; }
38 void open(std::shared_ptr<SharedHandle> h) { h_ = h; }
45 std::string get_name()
const {
48 return std::string(buf);
52 File get_file()
const;
54 RMF_SHOWABLE(
Object,
"Object " << get_name());
56 hid_t get_handle()
const {
57 RMF_USAGE_CHECK(h_,
"No handle in uninitialized Object");
61 #if !defined(RMF_DOXYGEN) && !defined(SWIG)
62 typedef void (
Object::*bool_type)()
const;
63 void this_type_does_not_support_comparisons()
const {}
64 operator bool_type()
const {
65 return h_ ? &Object::this_type_does_not_support_comparisons : 0;
72 typedef std::vector<Object> Objects;
75 inline std::ostream& operator<<(std::ostream& out,
const Object& o) {
76 out <<
"Object " << o.get_name();
Various general useful macros for IMP.
Handle read/write of Model data from/to files.
Include all non-deprecated headers in RMF.HDF5.
Handle read/write of Model data from/to files.