FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Types | Public Member Functions | Protected Member Functions | List of all members
H5File Class Reference
Inheritance diagram for H5File:
H5Object MemCore::SarahConnor< H5Object > H5Object MemCore::SarahConnor< H5Object > H5Identifier MemCore::ReferenceBase< H5Object > H5Identifier MemCore::ReferenceBase< H5Object > MemCore::ReferenceBase< H5Identifier > MemCore::ReferenceBase< H5Identifier >

Public Types

enum class  CreationMode {
  TruncateOnCreation , Append , OpenReadonly , TruncateOnCreation ,
  Append , OpenReadonly
}
 
enum  Scope { global , global }
 
enum class  CreationMode {
  TruncateOnCreation , Append , OpenReadonly , TruncateOnCreation ,
  Append , OpenReadonly
}
 
enum  Scope { global , global }
 
- Public Types inherited from H5Identifier
template<class T >
using refptr = MemCore::RefPtr< T >
 
- Public Types inherited from MemCore::ReferenceBase< H5Identifier >
typedef Object reference_domain_t
 
typedef WeakPtr< Object, Object > SelfPtr_t
 
- Public Types inherited from MemCore::ReferenceBase< H5Object >
typedef Object reference_domain_t
 
typedef WeakPtr< Object, Object > SelfPtr_t
 

Public Member Functions

 H5File (hid_t FileID)
 Create a H5File object and takes over ownership of the HDF5 identifier.
 
 H5File (const std::string &filename, CreationMode, std::string &Error, bool WindowsVFD, int HDF5_ELINK_CACHESIZE, int FileSpaceStrategyThreshold, int sieve_buf_size)
 
H5GroupGopen (const char *groupname, const refptr< H5GroupAccess > &ap=nullptr) const
 
void flush (Scope=global)
 
void closeAllIDs ()
 
 H5File (hid_t FileID)
 Create a H5File object and takes over ownership of the HDF5 identifier.
 
 H5File (const std::string &filename, CreationMode, std::string &Error)
 
MemCore::RefPtr< H5GroupGopen (const char *groupname, const RefPtr< H5GroupAccess > &AP) const
 
void flush (Scope=global)
 
- Public Member Functions inherited from H5Object
 H5Object (hid_t parent_id, const char *name, hid_t link_access_properties=H5P_DEFAULT)
 H5Oopen()
 
 H5Object (const refptr< H5Object > &parent, const char *name, hid_t link_access_properties=H5P_DEFAULT)
 H5Oopen()
 
 H5Object (hid_t parent_id, const char *name, const H5LinkAccess &link_access_properties)
 H5Oopen()
 
 H5Object (const refptr< H5Object > &parent, const char *name, const H5LinkAccess &link_access_properties)
 H5Oopen()
 
bool Awrite (const char *AttributeName, hid_t file_type_id, hid_t mem_type_id, const void *data, size_t Elements) const
 
bool Awrite (const std::string &AttributeName, hid_t file_type_id, hid_t mem_type_id, const void *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, hid_t type_id, const void *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const int16_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const int32_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const int64_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const uint16_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const uint32_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const uint64_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const double *data, size_t Elements=1) const
 
template<class name_t , class value_type >
bool Awrite (const name_t &AttributeName, const value_type &value) const
 
template<class T >
bool Awrite (const std::string &AttributeName, const std::vector< T > &data) const
 
bool Awrite (const char *AttributeName, const std::string &data) const
 
bool Awrite (const std::string &AttributeName, const std::string &data) const
 
std::string getFilename () const
 Get the filename associated with this HDF5 object.
 
std::string get_filename () const
 Get the filename associated with this HDF5 object.
 
std::filesystem::path getFilePath () const
 Get the filename associated with this HDF5 object.
 
std::string get_name () const
 
std::string get_object_path () const
 
std::string get_object_path_within_file () const
 
std::string get_path () const
 
herr_t get_info (H5O_info2_t &object_info, unsigned info_fields) const
 
time_t get_modification_time () const
 
hsize_t num_attribs () const
 
H5O_type_t get_type () const
 
refptr< H5Objectget_typed_object () const
 
time_t get_age () const
 
hid_t getHid () const
 
hid_t getHidClone () const
 
bool isValid () const
 
bool Awrite (const char *AttributeName, hid_t file_type_id, hid_t mem_type_id, const void *data, size_t Elements) const
 
bool Awrite (const std::string &AttributeName, hid_t file_type_id, hid_t mem_type_id, const void *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, hid_t type_id, const void *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const int16_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const int32_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const int64_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const uint16_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const uint32_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const uint64_t *data, size_t Elements) const
 
template<class name_t >
bool Awrite (const name_t &AttributeName, const double *data, size_t Elements=1) const
 
template<class name_t , class value_type >
bool Awrite (const name_t &AttributeName, const value_type &value) const
 
template<class T >
bool Awrite (const std::string &AttributeName, const std::vector< T > &data) const
 
bool Awrite (const char *AttributeName, const std::string &data) const
 
bool Awrite (const std::string &AttributeName, const std::string &data) const
 
- Public Member Functions inherited from H5Identifier
void inc_ref () const
 
void dec_ref () const
 
hid_t getHid () const
 Get the associated HDF5 ID.
 
hid_t getHidClone () const
 Get a copy of the associated HDF5 ID.
 
hid_t clone () const
 Get a copy of the associated HDF5 ID.
 
bool isValid () const
 Check whether this HDF5 object is valid, i.e., has a valid ID.
 
- Public Member Functions inherited from MemCore::ReferenceBase< H5Identifier >
auto getObjectCountID () const noexcept
 
bool isIdentical (const WeakPtr< Object, Object > &PossibleSelf) const noexcept
 
void mkAutoDestructive ()
 
refcount_t refcount () const noexcept
 
 ReferenceBase (Object *that) noexcept
 
const auto & self () const
 
refcount_t wrefcount () const noexcept
 
- Public Member Functions inherited from MemCore::ReferenceBase< H5Object >
auto getObjectCountID () const noexcept
 
bool isIdentical (const WeakPtr< Object, Object > &PossibleSelf) const noexcept
 
void mkAutoDestructive ()
 
refcount_t refcount () const noexcept
 
 ReferenceBase (Object *that) noexcept
 
const auto & self () const
 
refcount_t wrefcount () const noexcept
 

Protected Member Functions

 H5File (const H5File &)=delete
 
 H5File (const H5File &)=delete
 
- Protected Member Functions inherited from H5Object
 H5Object (const H5Object &)=delete
 
H5Objectoperator= (const H5Object &)=delete
 
 H5Object (hid_t ID)
 
 H5Object (const H5Object &)=delete
 
H5Objectoperator= (const H5Object &)=delete
 
 H5Object (hid_t ID)
 
- Protected Member Functions inherited from H5Identifier
 H5Identifier (hid_t id)
 
 H5Identifier (const H5Identifier &)=delete
 
H5Identifieroperator= (const H5Identifier &)=delete
 
- Protected Member Functions inherited from MemCore::ReferenceBase< H5Identifier >
virtual void extremeUnction ()
 
ReferenceBaseoperator= (const ReferenceBase &R)
 
void suicide ()
 
- Protected Member Functions inherited from MemCore::ReferenceBase< H5Object >
virtual void extremeUnction ()
 
ReferenceBaseoperator= (const ReferenceBase &R)
 
void suicide ()
 

Additional Inherited Members

- Static Public Member Functions inherited from H5Object
static std::string getFilename (hid_t hid)
 Gets the filename associated with the given HDF5 ID, a wrapper to H5Fget_name() .
 
static std::filesystem::path getFilePath (hid_t hid)
 
static std::string get_name (hid_t hid)
 Gets the name associated with the given HDF5 ID, a wrapper to H5Iget_name() .
 
template<class Lambda >
static auto Silentio (const Lambda &L) -> decltype(L())
 
static bool isActive ()
 
static void CloseLibrary ()
 
- Static Public Member Functions inherited from H5Identifier
static consteval hid_t invalid_id ()
 
template<class Lambda >
static auto Silentio (const Lambda &L) -> decltype(L())
 
static bool isActive ()
 Check whether the HDF5 library is active, i.e., has been correctly initialized and not been closed already.
 
- Protected Attributes inherited from H5Object
hid_t hid
 
- Protected Attributes inherited from H5Identifier
hid_t hid = 0
 

Constructor & Destructor Documentation

◆ H5File()

H5File::H5File ( const std::string &  filename,
CreationMode  CM,
std::string &  Error,
bool  WindowsVFD,
int  HDF5_ELINK_CACHESIZE,
int  FileSpaceStrategyThreshold,
int  sieve_buf_size 
)
Parameters
HDF5_ELINK_CACHESIZESpecifies how many files are kept open via external links such as to avoid re-opening files that are accessed via links. The file open operation can be a severe performance issue under Windows. The default is 100k files, which may be needed during massive data file processing operations. Use -1 for internal default or environment variable.
FileSpaceStrategyThresholdThe threshold value in bytes at which HDF5 shall start to reclaim unused space in an HDF5 file. Small values may be inefficient as tiny space is reclaimed. Zero turns off the features, thus HDF5 files grow larger. For scenerios where data are only added to an HDF5 file, this features is not needed, but any updates and modifications will benefit from smaller file sizes. Use -1 for internal default or environment variable.

References std::basic_string< typename _CharT, typename _Traits, typename _Alloc >::clear(), and MemCore::getEnvInteger().