71 explicit File(
const std::string& filename,
83 File(
const std::string& filename,
103 const std::string&
getName()
const;
116#if H5_VERSION_GE(1, 10, 1)
118 H5F_fspace_strategy_t getFileSpaceStrategy()
const;
121 hsize_t getFileSpacePageSize()
const;
131#if H5_VERSION_GE(1, 10, 0)
133 void startSWMRWrite();
138 return details::get_plist<FileCreateProps>(*
this, H5Fget_create_plist);
143 return details::get_plist<FileAccessProps>(*
this, H5Fget_access_plist);
162 mutable std::string _filename{};
169 using int_t = std::underlying_type<File::AccessMode>::type;
170 return static_cast<File::AccessMode>(
static_cast<int_t
>(lhs) |
static_cast<int_t
>(rhs));
174 using int_t = std::underlying_type<File::AccessMode>::type;
175 return static_cast<File::AccessMode>(
static_cast<int_t
>(lhs) &
static_cast<int_t
>(rhs));
179 using int_t = std::underlying_type<File::AccessMode>::type;
180 return static_cast<File::AccessMode>(
static_cast<int_t
>(lhs) ^
static_cast<int_t
>(rhs));
184 using int_t = std::underlying_type<File::AccessMode>::type;
Definition H5Annotate_traits.hpp:18
File class.
Definition H5File.hpp:25
FileCreateProps getCreatePropertyList() const
Get the list of properties for creation of this file.
Definition H5File.hpp:137
size_t getFileSize() const
Get the size of this file in bytes.
Definition H5File_misc.hpp:148
static constexpr AccessMode Truncate
Definition H5File.hpp:55
static constexpr AccessMode Create
Definition H5File.hpp:58
File(File &&other) noexcept=default
Keeps reference count constant, and invalidates other.
std::pair< H5F_libver_t, H5F_libver_t > getVersionBounds() const
Returns the HDF5 version compatibility bounds.
Definition H5File_misc.hpp:113
void flush()
flush
Definition H5File_misc.hpp:138
static constexpr AccessMode ReadOnly
Definition H5File.hpp:53
size_t getFreeSpace() const
Get the amount of tracked, unused space in bytes.
Definition H5File_misc.hpp:154
AccessMode
Definition H5File.hpp:29
@ Excl
Open flag: Open will fail if file already exist.
@ ReadOnly
Open flag: Read only access.
@ WriteSWMR
Open flag: Open in SWMR write.
@ OpenOrCreate
Derived open flag: Opens RW or exclusively creates.
@ Create
Open flag: Create non existing file.
@ ReadWrite
Open flag: Read Write access.
@ Debug
Open flag: Open in debug mode.
@ Truncate
Open flag: Truncate a file if already existing.
@ ReadSWMR
Open flag: Open in SWMR read.
@ Overwrite
Derived open flag: common write mode (=ReadWrite|Create|Truncate)
static constexpr AccessMode WriteSWMR
Definition H5File.hpp:62
FileAccessProps getAccessPropertyList() const
Get the list of properties for accession of this file.
Definition H5File.hpp:142
hsize_t getMetadataBlockSize() const
Returns the block size for metadata in bytes.
Definition H5File_misc.hpp:108
static constexpr AccessMode Excl
Definition H5File.hpp:56
File & operator=(File &&other)=default
Keeps reference count constant, and invalidates other.
File(const File &other)=default
Increments reference count, keeps other valid.
File & operator=(const File &other)=default
Increments reference count, keeps other valid.
static const ObjectType type
Definition H5File.hpp:27
static constexpr AccessMode OpenOrCreate
Definition H5File.hpp:60
const std::string & getName() const
Return the name of the file.
Definition H5File_misc.hpp:99
static constexpr AccessMode ReadWrite
Definition H5File.hpp:54
static constexpr AccessMode ReadSWMR
Definition H5File.hpp:61
static constexpr AccessMode Overwrite
Definition H5File.hpp:59
static constexpr AccessMode Debug
Definition H5File.hpp:57
std::string getPath() const noexcept
Object path of a File is always "/".
Definition H5File.hpp:106
NodeTraits: Base class for Group and File.
Definition H5Node_traits.hpp:28
Definition H5Object.hpp:36
Object()
Definition H5Object_misc.hpp:20
Definition H5Path_traits.hpp:16
HDF5 property Lists.
Definition H5PropertyList.hpp:138
static const PropertyList< T > & Default() noexcept
Return the Default property type object.
Definition H5PropertyList.hpp:155
Definition assert_compatible_spaces.hpp:15
File::AccessMode operator&=(File::AccessMode &lhs, File::AccessMode rhs)
Definition H5File.hpp:193
bool any(File::AccessMode mode)
Definition H5File.hpp:203
File::AccessMode operator^=(File::AccessMode &lhs, File::AccessMode rhs)
Definition H5File.hpp:198
File::AccessMode operator~(File::AccessMode mode)
Definition H5File.hpp:183
DataTypeClass operator|(DataTypeClass lhs, DataTypeClass rhs)
Definition H5DataType.hpp:46
DataTypeClass operator&(DataTypeClass lhs, DataTypeClass rhs)
Definition H5DataType.hpp:51
ObjectType
Enum of the types of objects (H5O api)
Definition H5Object.hpp:25
const File::AccessMode & operator|=(File::AccessMode &lhs, File::AccessMode rhs)
Definition H5File.hpp:188
File::AccessMode operator^(File::AccessMode lhs, File::AccessMode rhs)
Definition H5File.hpp:178