Mantid
Loading...
Searching...
No Matches
Enumerations | Functions
Mantid::Nexus::H5Util Namespace Reference

Operations for help with narrowing casts. More...

Enumerations

enum class  Narrowing : bool { Allow = true , Prevent = false }
 H5Util : TODO: DESCRIPTION. More...
 

Functions

MANTID_NEXUS_DLL void copyGroup (H5::H5Object &dest, const std::string &destGroupAddress, H5::H5Object &src, const std::string &srcGroupAddress)
 Copy a group and all of its contents, between the same or different HDF5 files or groups.
 
Group createGroupCanSAS (Group &group, const std::string &name, const std::string &nxtype, const std::string &cstype)
 
MANTID_NEXUS_DLL H5::Group createGroupCanSAS (H5::Group &group, const std::string &name, const std::string &nxtype, const std::string &cstype)
 
MANTID_NEXUS_DLL H5::Group createGroupCanSAS (H5::H5File &file, const std::string &name, const std::string &nxtype, const std::string &cstype)
 
Group createGroupCanSAS (H5File &file, const std::string &name, const std::string &nxtype, const std::string &cstype)
 
Group createGroupNXS (Group &group, const std::string &name, const std::string &nxtype)
 
MANTID_NEXUS_DLL H5::Group createGroupNXS (H5::Group &group, const std::string &name, const std::string &nxtype)
 
MANTID_NEXUS_DLL H5::Group createGroupNXS (H5::H5File &file, const std::string &name, const std::string &nxtype)
 
Group createGroupNXS (H5File &file, const std::string &name, const std::string &nxtype)
 
MANTID_NEXUS_DLL H5::FileAccPropList defaultFileAcc ()
 Default file access is H5F_CLOSE_STRONG.
 
MANTID_NEXUS_DLL void deleteObjectLink (H5::H5Object &h5, const std::string &target)
 Delete a target link for a group or dataset from a parent group.
 
MANTID_NEXUS_DLL H5::DataSpace getDataSpace (const size_t length)
 Create a 1D data-space to hold data of length.
 
template<typename NumT >
H5::DataType getType ()
 Convert a primitive type to the appropriate H5::DataType.
 
template<typename NumT >
DataType getType ()
 Convert a primitive type to the appropriate H5::DataType.
 
template<>
MANTID_NEXUS_DLL DataType getType< bool > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< char > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< double > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< float > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< int16_t > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< int32_t > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< int64_t > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< int8_t > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< std::string > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< uint16_t > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< uint32_t > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< uint64_t > ()
 
template<>
MANTID_NEXUS_DLL DataType getType< uint8_t > ()
 
MANTID_NEXUS_DLL bool groupExists (H5::H5Object const &h5, const std::string &groupAddress)
 Test if a group already exists within an HDF5 file or parent group.
 
MANTID_NEXUS_DLL bool hasAttribute (const H5::H5Object &object, const char *attributeName)
 
MANTID_NEXUS_DLL bool isHdf5 (std::string const &filename)
 Determine if a given file can be opened with HDF5 using the CORRECT file access level (H5F_CLOSE_STRONG)
 
MANTID_NEXUS_DLL bool keyHasValue (H5::H5Object const &h5, const std::string &key, const std::string &value)
 Test if an attribute is present and has a specific string value for an HDF5 group or dataset.
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< char > &output, const size_t length, const size_t offset)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< double > &output, const size_t length, const size_t offset)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< float > &output, const size_t length, const size_t offset)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< int16_t > &output, const size_t length, const size_t offset)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< int32_t > &output, const size_t length, const size_t offset)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< int64_t > &output, const size_t length, const size_t offset)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< int8_t > &output, const size_t length, const size_t offset)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< uint16_t > &output, const size_t length, const size_t offset)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< uint32_t > &output, const size_t length, const size_t offset)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< uint64_t > &output, const size_t length, const size_t offset)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const DataSet &dataset, std::vector< uint8_t > &output, const size_t length, const size_t offset)
 
template<typename NumT , Narrowing narrow = Narrowing::Allow>
void readArray1DCoerce (const H5::DataSet &dataset, std::vector< NumT > &output, const size_t length=std::numeric_limits< size_t >::max(), const size_t offset=static_cast< size_t >(0))
 
template<typename OutT , Narrowing narrow>
void readArray1DCoerce (const H5::DataSet &dataset, std::vector< OutT > &output, const size_t length, const size_t offset)
 Read a standard vector from a dataset, coerced to type of OutT.
 
template<typename NumT , Narrowing narrow = Narrowing::Allow>
std::vector< NumT > readArray1DCoerce (const H5::Group &group, const std::string &name)
 
template<typename OutT , Narrowing narrow>
std::vector< OutT > readArray1DCoerce (const H5::Group &group, const std::string &name)
 
template MANTID_NEXUS_DLL std::vector< float > readArray1DCoerce (const H5::Group &group, const std::string &name)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const H5::Group &group, const std::string &name, std::vector< double > &output)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const H5::Group &group, const std::string &name, std::vector< float > &output)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const H5::Group &group, const std::string &name, std::vector< int32_t > &output)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const H5::Group &group, const std::string &name, std::vector< int64_t > &output)
 
template<typename NumT , Narrowing narrow = Narrowing::Allow>
void readArray1DCoerce (const H5::Group &group, const std::string &name, std::vector< NumT > &output)
 
template<typename OutT , Narrowing narrow>
void readArray1DCoerce (const H5::Group &group, const std::string &name, std::vector< OutT > &output)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const H5::Group &group, const std::string &name, std::vector< uint32_t > &output)
 
template MANTID_NEXUS_DLL void readArray1DCoerce (const H5::Group &group, const std::string &name, std::vector< uint64_t > &output)
 
template<typename NumT , Narrowing narrow = Narrowing::Allow>
std::vector< NumT > readNumArrayAttributeCoerce (const H5::H5Object &object, const std::string &attributeName)
 Read a numerical array from an attribute, coerced to type of OutT.
 
template<typename OutT , Narrowing narrow>
std::vector< OutT > readNumArrayAttributeCoerce (const H5::H5Object &object, const std::string &attributeName)
 Read a numerical array from an attribute, coerced to type of OutT.
 
template MANTID_NEXUS_DLL std::vector< float > readNumArrayAttributeCoerce (const H5::H5Object &object, const std::string &attributeName)
 
template<typename NumT , Narrowing narrow = Narrowing::Allow>
NumT readNumAttributeCoerce (const H5::H5Object &object, const std::string &attributeName)
 Read a single quantity from an attribute, coerced to type of OutT.
 
template<typename OutT , Narrowing narrow>
OutT readNumAttributeCoerce (const H5::H5Object &object, const std::string &attributeName)
 Read a single quantity from an attribute, coerced to type of OutT.
 
template MANTID_NEXUS_DLL float readNumAttributeCoerce (const H5::H5Object &object, const std::string &attributeName)
 
MANTID_NEXUS_DLL std::string readString (const H5::DataSet &dataset)
 
MANTID_NEXUS_DLL std::string readString (const H5::Group &group, const std::string &name)
 
MANTID_NEXUS_DLL std::string readString (H5::H5File &file, const std::string &address)
 
MANTID_NEXUS_DLL void readStringAttribute (const H5::H5Object &object, const std::string &attributeName, std::string &output)
 
std::vector< std::string > readStringVector (DataSet &dataset)
 
std::vector< std::string > readStringVector (Group &group, const std::string &name)
 Returns 1D vector of variable length strings.
 
MANTID_NEXUS_DLL std::vector< std::string > readStringVector (H5::DataSet &)
 
MANTID_NEXUS_DLL std::vector< std::string > readStringVector (H5::Group &, const std::string &)
 
MANTID_NEXUS_DLL H5::DSetCreatPropList setCompressionAttributes (const std::size_t length, const int deflateLevel=6)
 Sets up the chunking and compression rate.
 
void write (Group &group, const std::string &name, const std::string &value)
 
MANTID_NEXUS_DLL void write (H5::Group &group, const std::string &name, const std::string &value)
 
template<typename NumT >
void writeArray1D (Group &group, const std::string &name, const std::vector< NumT > &values)
 
template MANTID_NEXUS_DLL void writeArray1D (H5::Group &group, const std::string &name, const std::vector< double > &values)
 
template MANTID_NEXUS_DLL void writeArray1D (H5::Group &group, const std::string &name, const std::vector< float > &values)
 
template MANTID_NEXUS_DLL void writeArray1D (H5::Group &group, const std::string &name, const std::vector< int32_t > &values)
 
template MANTID_NEXUS_DLL void writeArray1D (H5::Group &group, const std::string &name, const std::vector< int64_t > &values)
 
template<typename NumT >
void writeArray1D (H5::Group &group, const std::string &name, const std::vector< NumT > &values)
 
template MANTID_NEXUS_DLL void writeArray1D (H5::Group &group, const std::string &name, const std::vector< uint32_t > &values)
 
template MANTID_NEXUS_DLL void writeArray1D (H5::Group &group, const std::string &name, const std::vector< uint64_t > &values)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const char &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const double &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const float &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const int16_t &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const int32_t &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const int64_t &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const int8_t &value)
 
template<typename NumT >
void writeNumAttribute (const H5::H5Object &object, const std::string &name, const NumT &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< char > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< double > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< float > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< int16_t > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< int32_t > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< int64_t > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< int8_t > &value)
 
template<typename NumT >
void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< NumT > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< uint16_t > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< uint32_t > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< uint64_t > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< uint8_t > &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const uint16_t &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const uint32_t &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const uint64_t &value)
 
template MANTID_NEXUS_DLL void writeNumAttribute (const H5::H5Object &object, const std::string &name, const uint8_t &value)
 
template MANTID_NEXUS_DLL void writeScalarDataSetWithStrAttributes (H5::Group &group, const std::string &name, const double &value, const std::map< std::string, std::string > &attributes)
 
template MANTID_NEXUS_DLL void writeScalarDataSetWithStrAttributes (H5::Group &group, const std::string &name, const float &value, const std::map< std::string, std::string > &attributes)
 
template MANTID_NEXUS_DLL void writeScalarDataSetWithStrAttributes (H5::Group &group, const std::string &name, const int32_t &value, const std::map< std::string, std::string > &attributes)
 
template MANTID_NEXUS_DLL void writeScalarDataSetWithStrAttributes (H5::Group &group, const std::string &name, const int64_t &value, const std::map< std::string, std::string > &attributes)
 
template MANTID_NEXUS_DLL void writeScalarDataSetWithStrAttributes (H5::Group &group, const std::string &name, const std::string &value, const std::map< std::string, std::string > &attributes)
 
template<typename T >
void writeScalarDataSetWithStrAttributes (H5::Group &group, const std::string &name, const T &value, const std::map< std::string, std::string > &attributes)
 
template MANTID_NEXUS_DLL void writeScalarDataSetWithStrAttributes (H5::Group &group, const std::string &name, const uint32_t &value, const std::map< std::string, std::string > &attributes)
 
template MANTID_NEXUS_DLL void writeScalarDataSetWithStrAttributes (H5::Group &group, const std::string &name, const uint64_t &value, const std::map< std::string, std::string > &attributes)
 
MANTID_NEXUS_DLL void writeStrAttribute (const H5::H5Object &object, const std::string &name, const std::string &value)
 

Detailed Description

Operations for help with narrowing casts.

Enumeration Type Documentation

◆ Narrowing

enum class Mantid::Nexus::H5Util::Narrowing : bool
strong

H5Util : TODO: DESCRIPTION.

Controls whether narrowing is allowed within type coercion.

Enumerator
Allow 
Prevent 

Definition at line 35 of file H5Util.h.

Function Documentation

◆ copyGroup()

void Mantid::Nexus::H5Util::copyGroup ( H5::H5Object &  dest,
const std::string &  destGroupAddress,
H5::H5Object &  src,
const std::string &  srcGroupAddress 
)

Copy a group and all of its contents, between the same or different HDF5 files or groups.

Definition at line 510 of file H5Util.cpp.

References groupExists(), and Mantid::Nexus::UniqueID< D >::reset().

◆ createGroupCanSAS() [1/4]

Group Mantid::Nexus::H5Util::createGroupCanSAS ( Group group,
const std::string &  name,
const std::string &  nxtype,
const std::string &  cstype 
)

Definition at line 194 of file H5Util.cpp.

References createGroupNXS(), group, name, and writeStrAttribute().

◆ createGroupCanSAS() [2/4]

MANTID_NEXUS_DLL H5::Group Mantid::Nexus::H5Util::createGroupCanSAS ( H5::Group &  group,
const std::string &  name,
const std::string &  nxtype,
const std::string &  cstype 
)

◆ createGroupCanSAS() [3/4]

MANTID_NEXUS_DLL H5::Group Mantid::Nexus::H5Util::createGroupCanSAS ( H5::H5File &  file,
const std::string &  name,
const std::string &  nxtype,
const std::string &  cstype 
)

◆ createGroupCanSAS() [4/4]

Group Mantid::Nexus::H5Util::createGroupCanSAS ( H5File &  file,
const std::string &  name,
const std::string &  nxtype,
const std::string &  cstype 
)

Definition at line 188 of file H5Util.cpp.

References createGroupNXS(), name, and writeStrAttribute().

◆ createGroupNXS() [1/4]

Group Mantid::Nexus::H5Util::createGroupNXS ( Group group,
const std::string &  name,
const std::string &  nxtype 
)

Definition at line 182 of file H5Util.cpp.

References group, name, and writeStrAttribute().

◆ createGroupNXS() [2/4]

MANTID_NEXUS_DLL H5::Group Mantid::Nexus::H5Util::createGroupNXS ( H5::Group &  group,
const std::string &  name,
const std::string &  nxtype 
)

◆ createGroupNXS() [3/4]

MANTID_NEXUS_DLL H5::Group Mantid::Nexus::H5Util::createGroupNXS ( H5::H5File &  file,
const std::string &  name,
const std::string &  nxtype 
)

◆ createGroupNXS() [4/4]

Group Mantid::Nexus::H5Util::createGroupNXS ( H5File &  file,
const std::string &  name,
const std::string &  nxtype 
)

Definition at line 176 of file H5Util.cpp.

References group, name, and writeStrAttribute().

◆ defaultFileAcc()

H5::FileAccPropList Mantid::Nexus::H5Util::defaultFileAcc ( )

◆ deleteObjectLink()

void Mantid::Nexus::H5Util::deleteObjectLink ( H5::H5Object &  h5,
const std::string &  target 
)

Delete a target link for a group or dataset from a parent group.

If this is the last link to the target in the HDF5 graph, then it will be removed from the file.

Definition at line 532 of file H5Util.cpp.

◆ getDataSpace()

DataSpace Mantid::Nexus::H5Util::getDataSpace ( const size_t  length)

Create a 1D data-space to hold data of length.

Definition at line 143 of file H5Util.cpp.

Referenced by writeArray1D(), and writeNumAttribute().

◆ getType() [1/2]

template<typename NumT >
H5::DataType Mantid::Nexus::H5Util::getType ( )

Convert a primitive type to the appropriate H5::DataType.

Definition at line 36 of file H5Util.cpp.

◆ getType() [2/2]

template<typename NumT >
DataType Mantid::Nexus::H5Util::getType ( )

Convert a primitive type to the appropriate H5::DataType.

Definition at line 36 of file H5Util.cpp.

◆ getType< bool >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< bool > ( )

Definition at line 62 of file H5Util.cpp.

◆ getType< char >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< char > ( )

Definition at line 58 of file H5Util.cpp.

◆ getType< double >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< double > ( )

Definition at line 40 of file H5Util.cpp.

◆ getType< float >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< float > ( )

Definition at line 38 of file H5Util.cpp.

◆ getType< int16_t >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< int16_t > ( )

Definition at line 46 of file H5Util.cpp.

◆ getType< int32_t >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< int32_t > ( )

Definition at line 50 of file H5Util.cpp.

◆ getType< int64_t >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< int64_t > ( )

Definition at line 54 of file H5Util.cpp.

◆ getType< int8_t >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< int8_t > ( )

Definition at line 42 of file H5Util.cpp.

◆ getType< std::string >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< std::string > ( )

Definition at line 60 of file H5Util.cpp.

◆ getType< uint16_t >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< uint16_t > ( )

Definition at line 48 of file H5Util.cpp.

◆ getType< uint32_t >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< uint32_t > ( )

Definition at line 52 of file H5Util.cpp.

◆ getType< uint64_t >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< uint64_t > ( )

Definition at line 56 of file H5Util.cpp.

◆ getType< uint8_t >()

template<>
MANTID_NEXUS_DLL DataType Mantid::Nexus::H5Util::getType< uint8_t > ( )

Definition at line 44 of file H5Util.cpp.

◆ groupExists()

bool Mantid::Nexus::H5Util::groupExists ( H5::H5Object const &  h5,
const std::string &  groupAddress 
)

Test if a group already exists within an HDF5 file or parent group.

Test if a group exists in an HDF5 file or parent group.

Definition at line 484 of file H5Util.cpp.

Referenced by copyGroup().

◆ hasAttribute()

bool Mantid::Nexus::H5Util::hasAttribute ( const H5::H5Object &  object,
const char *  attributeName 
)

◆ isHdf5()

bool Mantid::Nexus::H5Util::isHdf5 ( std::string const &  filename)

Determine if a given file can be opened with HDF5 using the CORRECT file access level (H5F_CLOSE_STRONG)

Definition at line 125 of file H5Util.cpp.

References defaultFileAcc(), and Mantid::Nexus::UniqueID< D >::reset().

◆ keyHasValue()

bool Mantid::Nexus::H5Util::keyHasValue ( H5::H5Object const &  h5,
const std::string &  key,
const std::string &  value 
)

Test if an attribute is present and has a specific string value for an HDF5 group or dataset.

Test if an attribute is present on an HDF5 group or dataset and has a specific string value.

Definition at line 496 of file H5Util.cpp.

References value.

◆ readArray1DCoerce() [1/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< char > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [2/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< double > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [3/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< float > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [4/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< int16_t > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [5/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< int32_t > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [6/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< int64_t > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [7/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< int8_t > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [8/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< uint16_t > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [9/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< uint32_t > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [10/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< uint64_t > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [11/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const DataSet &  dataset,
std::vector< uint8_t > &  output,
const size_t  length,
const size_t  offset 
)

◆ readArray1DCoerce() [12/24]

template<typename NumT , Narrowing narrow = Narrowing::Allow>
void Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::DataSet &  dataset,
std::vector< NumT > &  output,
const size_t  length = std::numeric_limits< size_t >::max(),
const size_t  offset = static_cast< size_t >(0) 
)

◆ readArray1DCoerce() [13/24]

template<typename OutT , Narrowing narrow>
void Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::DataSet &  dataset,
std::vector< OutT > &  output,
const size_t  length,
const size_t  offset 
)

Read a standard vector from a dataset, coerced to type of OutT.

Narrowing behavior can be controlled with optional template param narrow, which, if narrow = Prevent, will throw an error if type coercion would cause narrowing.

Definition at line 456 of file H5Util.cpp.

References RUN_H5UTIL_FUNCTION.

◆ readArray1DCoerce() [14/24]

template<typename NumT , Narrowing narrow = Narrowing::Allow>
template MANTID_NEXUS_DLL std::vector< uint64_t > Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name 
)

Definition at line 361 of file H5Util.cpp.

References Mantid::API::g_log, group, Mantid::Kernel::Logger::information(), and name.

◆ readArray1DCoerce() [15/24]

template<typename OutT , Narrowing narrow>
std::vector< OutT > Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name 
)

Definition at line 361 of file H5Util.cpp.

References Mantid::API::g_log, group, Mantid::Kernel::Logger::information(), and name.

◆ readArray1DCoerce() [16/24]

template MANTID_NEXUS_DLL std::vector< float > Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name 
)

◆ readArray1DCoerce() [17/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name,
std::vector< double > &  output 
)

◆ readArray1DCoerce() [18/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name,
std::vector< float > &  output 
)

◆ readArray1DCoerce() [19/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name,
std::vector< int32_t > &  output 
)

◆ readArray1DCoerce() [20/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name,
std::vector< int64_t > &  output 
)

◆ readArray1DCoerce() [21/24]

template<typename NumT , Narrowing narrow = Narrowing::Allow>
void Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name,
std::vector< NumT > &  output 
)

◆ readArray1DCoerce() [22/24]

template<typename OutT , Narrowing narrow>
void Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name,
std::vector< OutT > &  output 
)

Definition at line 349 of file H5Util.cpp.

References Mantid::API::g_log, group, Mantid::Kernel::Logger::information(), and name.

◆ readArray1DCoerce() [23/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name,
std::vector< uint32_t > &  output 
)

◆ readArray1DCoerce() [24/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readArray1DCoerce ( const H5::Group &  group,
const std::string &  name,
std::vector< uint64_t > &  output 
)

◆ readNumArrayAttributeCoerce() [1/3]

template<typename NumT , Narrowing narrow = Narrowing::Allow>
template MANTID_NEXUS_DLL std::vector< uint64_t > Mantid::Nexus::H5Util::readNumArrayAttributeCoerce ( const H5::H5Object &  object,
const std::string &  attributeName 
)

Read a numerical array from an attribute, coerced to type of OutT.

Narrowing behavior can be controlled with optional template param narrow, which, if narrow = Prevent, will throw an error if type coercion would cause narrowing.

Definition at line 441 of file H5Util.cpp.

References RUN_H5UTIL_FUNCTION, and value.

◆ readNumArrayAttributeCoerce() [2/3]

template<typename OutT , Narrowing narrow>
std::vector< OutT > Mantid::Nexus::H5Util::readNumArrayAttributeCoerce ( const H5::H5Object &  object,
const std::string &  attributeName 
)

Read a numerical array from an attribute, coerced to type of OutT.

Narrowing behavior can be controlled with optional template param narrow, which, if narrow = Prevent, will throw an error if type coercion would cause narrowing.

Definition at line 441 of file H5Util.cpp.

References RUN_H5UTIL_FUNCTION, and value.

◆ readNumArrayAttributeCoerce() [3/3]

template MANTID_NEXUS_DLL std::vector< float > Mantid::Nexus::H5Util::readNumArrayAttributeCoerce ( const H5::H5Object &  object,
const std::string &  attributeName 
)

◆ readNumAttributeCoerce() [1/3]

template<typename NumT , Narrowing narrow = Narrowing::Allow>
template MANTID_NEXUS_DLL char Mantid::Nexus::H5Util::readNumAttributeCoerce ( const H5::H5Object &  object,
const std::string &  attributeName 
)

Read a single quantity from an attribute, coerced to type of OutT.

Narrowing behavior can be controlled with optional template param narrow, which, if narrow = Prevent, will throw an error if type coercion would cause narrowing.

Definition at line 427 of file H5Util.cpp.

References RUN_H5UTIL_FUNCTION, and value.

◆ readNumAttributeCoerce() [2/3]

template<typename OutT , Narrowing narrow>
OutT Mantid::Nexus::H5Util::readNumAttributeCoerce ( const H5::H5Object &  object,
const std::string &  attributeName 
)

Read a single quantity from an attribute, coerced to type of OutT.

Narrowing behavior can be controlled with optional template param narrow, which, if narrow = Prevent, will throw an error if type coercion would cause narrowing.

Definition at line 427 of file H5Util.cpp.

References RUN_H5UTIL_FUNCTION, and value.

◆ readNumAttributeCoerce() [3/3]

template MANTID_NEXUS_DLL float Mantid::Nexus::H5Util::readNumAttributeCoerce ( const H5::H5Object &  object,
const std::string &  attributeName 
)

◆ readString() [1/3]

std::string Mantid::Nexus::H5Util::readString ( const H5::DataSet &  dataset)

Definition at line 289 of file H5Util.cpp.

References value.

◆ readString() [2/3]

std::string Mantid::Nexus::H5Util::readString ( const H5::Group &  group,
const std::string &  name 
)

Definition at line 279 of file H5Util.cpp.

References group, name, readString(), and UNUSED_ARG.

◆ readString() [3/3]

std::string Mantid::Nexus::H5Util::readString ( H5::H5File &  file,
const std::string &  address 
)

◆ readStringAttribute()

void Mantid::Nexus::H5Util::readStringAttribute ( const H5::H5Object &  object,
const std::string &  attributeName,
std::string &  output 
)

◆ readStringVector() [1/4]

std::vector< std::string > Mantid::Nexus::H5Util::readStringVector ( DataSet &  dataset)

Definition at line 314 of file H5Util.cpp.

◆ readStringVector() [2/4]

std::vector< std::string > Mantid::Nexus::H5Util::readStringVector ( Group group,
const std::string &  name 
)

Returns 1D vector of variable length strings.

Parameters
group:: H5::Group already opened
name:: name of the dataset in the group (rank must be 1)
Returns
:: vector of strings

Definition at line 309 of file H5Util.cpp.

References group, name, and readStringVector().

◆ readStringVector() [3/4]

MANTID_NEXUS_DLL std::vector< std::string > Mantid::Nexus::H5Util::readStringVector ( H5::DataSet &  )

◆ readStringVector() [4/4]

MANTID_NEXUS_DLL std::vector< std::string > Mantid::Nexus::H5Util::readStringVector ( H5::Group &  ,
const std::string &   
)

◆ setCompressionAttributes()

DSetCreatPropList Mantid::Nexus::H5Util::setCompressionAttributes ( const std::size_t  length,
const int  deflateLevel = 6 
)

Sets up the chunking and compression rate.

Parameters
length
deflateLevel
Returns
The configured property list

Definition at line 200 of file H5Util.cpp.

Referenced by writeArray1D().

◆ write() [1/2]

void Mantid::Nexus::H5Util::write ( Group group,
const std::string &  name,
const std::string &  value 
)

Definition at line 241 of file H5Util.cpp.

References group, name, and value.

◆ write() [2/2]

MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::write ( H5::Group &  group,
const std::string &  name,
const std::string &  value 
)

◆ writeArray1D() [1/8]

template<typename NumT >
void Mantid::Nexus::H5Util::writeArray1D ( Group group,
const std::string &  name,
const std::vector< NumT > &  values 
)

Definition at line 252 of file H5Util.cpp.

References getDataSpace(), group, name, and setCompressionAttributes().

◆ writeArray1D() [2/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeArray1D ( H5::Group &  group,
const std::string &  name,
const std::vector< double > &  values 
)

◆ writeArray1D() [3/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeArray1D ( H5::Group &  group,
const std::string &  name,
const std::vector< float > &  values 
)

◆ writeArray1D() [4/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeArray1D ( H5::Group &  group,
const std::string &  name,
const std::vector< int32_t > &  values 
)

◆ writeArray1D() [5/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeArray1D ( H5::Group &  group,
const std::string &  name,
const std::vector< int64_t > &  values 
)

◆ writeArray1D() [6/8]

template<typename NumT >
void Mantid::Nexus::H5Util::writeArray1D ( H5::Group &  group,
const std::string &  name,
const std::vector< NumT > &  values 
)

◆ writeArray1D() [7/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeArray1D ( H5::Group &  group,
const std::string &  name,
const std::vector< uint32_t > &  values 
)

◆ writeArray1D() [8/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeArray1D ( H5::Group &  group,
const std::string &  name,
const std::vector< uint64_t > &  values 
)

◆ writeNumAttribute() [1/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const char &  value 
)

◆ writeNumAttribute() [2/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const double &  value 
)

◆ writeNumAttribute() [3/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const float &  value 
)

◆ writeNumAttribute() [4/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const int16_t &  value 
)

◆ writeNumAttribute() [5/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const int32_t &  value 
)

◆ writeNumAttribute() [6/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const int64_t &  value 
)

◆ writeNumAttribute() [7/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const int8_t &  value 
)

◆ writeNumAttribute() [8/24]

template<typename NumT >
void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const NumT &  value 
)

Definition at line 216 of file H5Util.cpp.

References name, and value.

◆ writeNumAttribute() [9/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< char > &  value 
)

◆ writeNumAttribute() [10/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< double > &  value 
)

◆ writeNumAttribute() [11/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< float > &  value 
)

◆ writeNumAttribute() [12/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< int16_t > &  value 
)

◆ writeNumAttribute() [13/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< int32_t > &  value 
)

◆ writeNumAttribute() [14/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< int64_t > &  value 
)

◆ writeNumAttribute() [15/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< int8_t > &  value 
)

◆ writeNumAttribute() [16/24]

template<typename NumT >
void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< NumT > &  value 
)

Definition at line 230 of file H5Util.cpp.

References getDataSpace(), name, and value.

◆ writeNumAttribute() [17/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< uint16_t > &  value 
)

◆ writeNumAttribute() [18/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< uint32_t > &  value 
)

◆ writeNumAttribute() [19/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< uint64_t > &  value 
)

◆ writeNumAttribute() [20/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::vector< uint8_t > &  value 
)

◆ writeNumAttribute() [21/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const uint16_t &  value 
)

◆ writeNumAttribute() [22/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const uint32_t &  value 
)

◆ writeNumAttribute() [23/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const uint64_t &  value 
)

◆ writeNumAttribute() [24/24]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeNumAttribute ( const H5::H5Object &  object,
const std::string &  name,
const uint8_t &  value 
)

◆ writeScalarDataSetWithStrAttributes() [1/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeScalarDataSetWithStrAttributes ( H5::Group &  group,
const std::string &  name,
const double &  value,
const std::map< std::string, std::string > &  attributes 
)

◆ writeScalarDataSetWithStrAttributes() [2/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeScalarDataSetWithStrAttributes ( H5::Group &  group,
const std::string &  name,
const float &  value,
const std::map< std::string, std::string > &  attributes 
)

◆ writeScalarDataSetWithStrAttributes() [3/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeScalarDataSetWithStrAttributes ( H5::Group &  group,
const std::string &  name,
const int32_t &  value,
const std::map< std::string, std::string > &  attributes 
)

◆ writeScalarDataSetWithStrAttributes() [4/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeScalarDataSetWithStrAttributes ( H5::Group &  group,
const std::string &  name,
const int64_t &  value,
const std::map< std::string, std::string > &  attributes 
)

◆ writeScalarDataSetWithStrAttributes() [5/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeScalarDataSetWithStrAttributes ( H5::Group &  group,
const std::string &  name,
const std::string &  value,
const std::map< std::string, std::string > &  attributes 
)

◆ writeScalarDataSetWithStrAttributes() [6/8]

template<typename T >
void Mantid::Nexus::H5Util::writeScalarDataSetWithStrAttributes ( H5::Group &  group,
const std::string &  name,
const T &  value,
const std::map< std::string, std::string > &  attributes 
)

◆ writeScalarDataSetWithStrAttributes() [7/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeScalarDataSetWithStrAttributes ( H5::Group &  group,
const std::string &  name,
const uint32_t &  value,
const std::map< std::string, std::string > &  attributes 
)

◆ writeScalarDataSetWithStrAttributes() [8/8]

template MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeScalarDataSetWithStrAttributes ( H5::Group &  group,
const std::string &  name,
const uint64_t &  value,
const std::map< std::string, std::string > &  attributes 
)

◆ writeStrAttribute()

void Mantid::Nexus::H5Util::writeStrAttribute ( const H5::H5Object &  object,
const std::string &  name,
const std::string &  value 
)