Gromacs  2026.0-dev-20250113-1a1a8db
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::H5md Class Reference

#include <gromacs/fileio/h5md.h>

Description

Manager of an H5MD filehandle. The class is designed to read/write data according to de Buyl et al., 2014 (https://doi.org/10.1016/j.cpc.2014.01.018) and https://www.nongnu.org/h5md/h5md.html.

Public Member Functions

 H5md (const std::filesystem::path &fileName, const H5mdFileMode mode)
 Open an H5MD file and manage its filehandle. More...
 
 H5md (const H5md &)=delete
 
H5mdoperator= (const H5md &)=delete
 
 H5md (H5md &&)=delete
 
H5mdoperator= (H5md &&)=delete
 
void flush (bool throwExceptionUponError=true)
 Write all unwritten data to the file. More...
 
void setAuthor (const std::string &authorName)
 Set the author name attribute in the H5MD file. More...
 
std::optional< std::string > author ()
 Get the author name attribute from the H5MD file. More...
 
void setCreatorProgramName (const std::string &creatorName)
 Set the name of the creating program as an attribute in the H5MD file. More...
 
std::optional< std::string > creatorProgramName ()
 Get the name of the creating program attribute from the H5MD file. More...
 
void setCreatorProgramVersion (const std::string &version)
 Set the version of the creating program as an attribute in the H5MD file. More...
 
std::optional< std::string > creatorProgramVersion ()
 Get the version of the creating program attribute from the H5MD file. More...
 

Constructor & Destructor Documentation

gmx::H5md::H5md ( const std::filesystem::path &  fileName,
const H5mdFileMode  mode 
)

Open an H5MD file and manage its filehandle.

Parameters
[in]fileNameName of the file to open. The same as the file path.
[in]modeThe mode to open the file.
Exceptions
FileIOErrorif fileName is specified and the file cannot be opened.

Member Function Documentation

std::optional< std::string > gmx::H5md::author ( )

Get the author name attribute from the H5MD file.

Returns
the author name if the attribute was set.
std::optional< std::string > gmx::H5md::creatorProgramName ( )

Get the name of the creating program attribute from the H5MD file.

Returns
The creator name, i.e. the name of the program that created the file, if the attribute was set.
std::optional< std::string > gmx::H5md::creatorProgramVersion ( )

Get the version of the creating program attribute from the H5MD file.

Returns
the version if the attribute was set.
void gmx::H5md::flush ( bool  throwExceptionUponError = true)

Write all unwritten data to the file.

Parameters
[in]throwExceptionUponErrorWhether to throw an exception if an error occurs. Assumes a valid file_ identifier.
Exceptions
FileIOErrorIf there were errors during flushing (and throwExceptionUponError is true).
void gmx::H5md::setAuthor ( const std::string &  authorName)

Set the author name attribute in the H5MD file.

Parameters
[in]authorNameThe author name.
Exceptions
FileIOErrorIf the author name attribute could not be set.
void gmx::H5md::setCreatorProgramName ( const std::string &  creatorName)

Set the name of the creating program as an attribute in the H5MD file.

Parameters
[in]creatorNameThe creator name, i.e. the name of the program that created the file.
Exceptions
FileIOErrorIf the creator name attribute could not be set.
void gmx::H5md::setCreatorProgramVersion ( const std::string &  version)

Set the version of the creating program as an attribute in the H5MD file.

Parameters
[in]versionThe version.
Exceptions
FileIOErrorIf the version attribute could not be set.

The documentation for this class was generated from the following files: