13#include "../H5Exception.hpp"
14#include "../H5Utility.hpp"
21 : _hid(H5I_INVALID_HID) {}
29 detail::h5i_inc_ref(
_hid);
35 other._hid = H5I_INVALID_HID;
40 if ((*this).isValid()) {
41 detail::h5i_dec_ref(
_hid);
44 other._hid = H5I_INVALID_HID;
51 if ((*this).isValid()) {
52 detail::h5i_dec_ref(
_hid);
57 detail::h5i_inc_ref(
_hid);
65 if (detail::nothrow::h5i_dec_ref(
_hid) < 0) {
72 return (
_hid > 0) && (detail::nothrow::h5i_is_valid(
_hid) > 0);
79static inline ObjectType _convert_object_type(
const H5I_type_t& h5type) {
100 return _convert_object_type(detail::h5i_get_type(
_hid));
108 detail::h5o_info1_t raw_info;
109 detail::h5o_get_info1(
_hid, &raw_info);
110 return raw_info.addr;
114 detail::h5o_get_info1(obj.
getId(), &raw_info);
121 return raw_info.btime;
124 return raw_info.mtime;
#define HIGHFIVE_LOG_ERROR(message)
Definition H5Utility.hpp:204
Definition H5Object.hpp:36
hid_t getId() const noexcept
getId
Definition H5Object_misc.hpp:75
ObjectInfo getInfo() const
Retrieve several infos about the current object (address, dates, etc)
Definition H5Object_misc.hpp:103
~Object()
Definition H5Object_misc.hpp:63
ObjectType getType() const
Gets the fundamental type of the object (dataset, group, etc)
Definition H5Object_misc.hpp:98
haddr_t getAddress() const
Address of an HDF5 object in the file.
Definition H5Object_misc.hpp:107
Object()
Definition H5Object_misc.hpp:20
bool isValid() const noexcept
isValid
Definition H5Object_misc.hpp:71
hid_t _hid
Definition H5Object.hpp:98
Object & operator=(const Object &other)
Definition H5Object_misc.hpp:49
A class for accessing hdf5 objects info.
Definition H5Object.hpp:118
ObjectInfo(const Object &obj)
Definition H5Object_misc.hpp:113
time_t getCreationTime() const noexcept
Retrieve the object's creation time.
Definition H5Object_misc.hpp:120
size_t getRefCount() const noexcept
Retrieve the number of references to this object.
Definition H5Object_misc.hpp:117
time_t getModificationTime() const noexcept
Retrieve the object's last modification time.
Definition H5Object_misc.hpp:123
Definition assert_compatible_spaces.hpp:15
ObjectType
Enum of the types of objects (H5O api)
Definition H5Object.hpp:25