Mantid
Loading...
Searching...
No Matches
Namespaces | Enumerations | Functions
H5Util.h File Reference
#include "MantidNexus/DllConfig.h"
#include <limits>
#include <map>
#include <string>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  H5
 
namespace  Mantid
 Helper class which provides the Collimation Length for SANS instruments.
 
namespace  Mantid::Nexus
 Header for a base Nexus::Exception.
 
namespace  Mantid::Nexus::H5Util
 Operations for help with narrowing casts.
 

Enumerations

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

Functions

MANTID_NEXUS_DLL 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.
 
MANTID_NEXUS_DLL H5::Group Mantid::Nexus::H5Util::createGroupCanSAS (H5::Group &group, const std::string &name, const std::string &nxtype, const std::string &cstype)
 
MANTID_NEXUS_DLL H5::Group Mantid::Nexus::H5Util::createGroupCanSAS (H5::H5File &file, const std::string &name, const std::string &nxtype, const std::string &cstype)
 
MANTID_NEXUS_DLL H5::Group Mantid::Nexus::H5Util::createGroupNXS (H5::Group &group, const std::string &name, const std::string &nxtype)
 
MANTID_NEXUS_DLL H5::Group Mantid::Nexus::H5Util::createGroupNXS (H5::H5File &file, const std::string &name, const std::string &nxtype)
 
MANTID_NEXUS_DLL H5::FileAccPropList Mantid::Nexus::H5Util::defaultFileAcc ()
 Default file access is H5F_CLOSE_STRONG.
 
MANTID_NEXUS_DLL 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.
 
MANTID_NEXUS_DLL H5::DataSpace Mantid::Nexus::H5Util::getDataSpace (const size_t length)
 Create a 1D data-space to hold data of length.
 
template<typename NumT >
H5::DataType Mantid::Nexus::H5Util::getType ()
 Convert a primitive type to the appropriate H5::DataType.
 
MANTID_NEXUS_DLL 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.
 
MANTID_NEXUS_DLL bool Mantid::Nexus::H5Util::hasAttribute (const H5::H5Object &object, const char *attributeName)
 
MANTID_NEXUS_DLL 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)
 
MANTID_NEXUS_DLL 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.
 
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))
 
template<typename NumT , Narrowing narrow = Narrowing::Allow>
std::vector< NumT > Mantid::Nexus::H5Util::readArray1DCoerce (const H5::Group &group, const std::string &name)
 
template<typename NumT , Narrowing narrow = Narrowing::Allow>
void Mantid::Nexus::H5Util::readArray1DCoerce (const H5::Group &group, const std::string &name, std::vector< NumT > &output)
 
template<typename NumT , Narrowing narrow = Narrowing::Allow>
std::vector< NumT > Mantid::Nexus::H5Util::readNumArrayAttributeCoerce (const H5::H5Object &object, const std::string &attributeName)
 Read a numerical array from an attribute, coerced to type of OutT.
 
template<typename NumT , Narrowing narrow = Narrowing::Allow>
NumT Mantid::Nexus::H5Util::readNumAttributeCoerce (const H5::H5Object &object, const std::string &attributeName)
 Read a single quantity from an attribute, coerced to type of OutT.
 
MANTID_NEXUS_DLL std::string Mantid::Nexus::H5Util::readString (const H5::DataSet &dataset)
 
MANTID_NEXUS_DLL std::string Mantid::Nexus::H5Util::readString (const H5::Group &group, const std::string &name)
 
MANTID_NEXUS_DLL std::string Mantid::Nexus::H5Util::readString (H5::H5File &file, const std::string &address)
 
MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::readStringAttribute (const H5::H5Object &object, const std::string &attributeName, std::string &output)
 
MANTID_NEXUS_DLL std::vector< std::string > Mantid::Nexus::H5Util::readStringVector (H5::DataSet &)
 
MANTID_NEXUS_DLL std::vector< std::string > Mantid::Nexus::H5Util::readStringVector (H5::Group &, const std::string &)
 
MANTID_NEXUS_DLL H5::DSetCreatPropList Mantid::Nexus::H5Util::setCompressionAttributes (const std::size_t length, const int deflateLevel=6)
 Sets up the chunking and compression rate.
 
MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::write (H5::Group &group, const std::string &name, const std::string &value)
 
template<typename NumT >
void Mantid::Nexus::H5Util::writeArray1D (H5::Group &group, const std::string &name, const std::vector< NumT > &values)
 
template<typename NumT >
void Mantid::Nexus::H5Util::writeNumAttribute (const H5::H5Object &object, const std::string &name, const NumT &value)
 
template<typename NumT >
void Mantid::Nexus::H5Util::writeNumAttribute (const H5::H5Object &object, const std::string &name, const std::vector< NumT > &value)
 
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)
 
MANTID_NEXUS_DLL void Mantid::Nexus::H5Util::writeStrAttribute (const H5::H5Object &object, const std::string &name, const std::string &value)