Grid 0.7.0
Grid::Hdf5Reader Class Reference

#include <Hdf5IO.h>

Inheritance diagram for Grid::Hdf5Reader:
Grid::Reader< Hdf5Reader >

Public Member Functions

 Hdf5Reader (const std::string &fileName, const bool readOnly=true)
virtual ~Hdf5Reader (void)=default
bool push (const std::string &s)
void pop (void)
template<typename U>
void readDefault (const std::string &s, U &output)
template<typename U>
void readRagged (const std::string &s, std::vector< U > &x)
template<typename U>
std::enable_if< is_flattenable< std::vector< U > >::value >::type readDefault (const std::string &s, std::vector< U > &x)
template<typename U>
std::enable_if<!is_flattenable< std::vector< U > >::value >::type readDefault (const std::string &s, std::vector< U > &x)
template<typename U>
void readMultiDim (const std::string &s, std::vector< U > &buf, std::vector< size_t > &dim)
H5NS::Group & getGroup (void)
template<>
void readDefault (const std::string &s, std::string &x)
template<>
void readDefault (const std::string &s, std::string &x)
std::enable_if< std::is_base_of< Serializable, U >::value, void >::type read (const std::string &s, U &output)
std::enable_if< EigenIO::is_tensor_fixed< ETensor >::value, void >::type Reshape (ETensor &t, const std::array< typename ETensor::Index, ETensor::NumDimensions > &dims)
std::enable_if< EigenIO::is_scalar< S >::value, void >::type copyScalars (S &Dest, const S *&pSource)

Protected Member Functions

void fromString (U &output, const std::string &s)

Private Member Functions

template<typename U>
void readSingleAttribute (U &x, const std::string &name, const H5NS::DataType &type)

Private Attributes

std::string fileName_
std::vector< std::string > path_
H5NS::H5File file_
H5NS::Group group_
unsigned int dataSetThres_
Hdf5Readerupcast

Detailed Description

Definition at line 86 of file Hdf5IO.h.

Constructor & Destructor Documentation

◆ Hdf5Reader()

Hdf5Reader::Hdf5Reader ( const std::string & fileName,
const bool readOnly = true )

Definition at line 95 of file Hdf5IO.cc.

References dataSetThres_, file_, fileName_, group_, HDF5_GRID_GUARD, and readSingleAttribute().

◆ ~Hdf5Reader()

virtual Grid::Hdf5Reader::~Hdf5Reader ( void )
virtualdefault

References U.

Member Function Documentation

◆ push()

bool Hdf5Reader::push ( const std::string & s)

Definition at line 104 of file Hdf5IO.cc.

References group_, and path_.

Referenced by readRagged().

◆ pop()

void Hdf5Reader::pop ( void )

Definition at line 112 of file Hdf5IO.cc.

References file_, group_, and path_.

Referenced by readRagged().

◆ readDefault() [1/5]

template<typename U>
void Grid::Hdf5Reader::readDefault ( const std::string & s,
U & output )

Definition at line 257 of file Hdf5IO.h.

References readSingleAttribute(), and U.

◆ readRagged()

template<typename U>
void Grid::Hdf5Reader::readRagged ( const std::string & s,
std::vector< U > & x )

Definition at line 337 of file Hdf5IO.h.

References HDF5_GRID_GUARD, pop(), push(), Grid::Reader< Hdf5Reader >::read(), and readSingleAttribute().

Referenced by readDefault().

◆ readDefault() [2/5]

template<typename U>
std::enable_if< is_flattenable< std::vector< U > >::value >::type Grid::Hdf5Reader::readDefault ( const std::string & s,
std::vector< U > & x )

◆ readDefault() [3/5]

template<typename U>
std::enable_if<!is_flattenable< std::vector< U > >::value >::type Grid::Hdf5Reader::readDefault ( const std::string & s,
std::vector< U > & x )
inline

Definition at line 102 of file Hdf5IO.h.

References readRagged().

◆ readMultiDim()

template<typename U>
void Grid::Hdf5Reader::readMultiDim ( const std::string & s,
std::vector< U > & buf,
std::vector< size_t > & dim )

Definition at line 266 of file Hdf5IO.h.

References dataSetThres_, and group_.

Referenced by readDefault().

◆ getGroup()

Group & Hdf5Reader::getGroup ( void )

Definition at line 143 of file Hdf5IO.cc.

References group_.

◆ readSingleAttribute()

template<typename U>
void Grid::Hdf5Reader::readSingleAttribute ( U & x,
const std::string & name,
const H5NS::DataType & type )
private

Definition at line 247 of file Hdf5IO.h.

References group_, and U.

Referenced by Hdf5Reader(), readDefault(), and readRagged().

◆ readDefault() [4/5]

template<>
void Grid::Hdf5Reader::readDefault ( const std::string & s,
std::string & x )

Definition at line 132 of file Hdf5IO.cc.

References group_.

◆ readDefault() [5/5]

template<>
void Grid::Hdf5Reader::readDefault ( const std::string & s,
std::string & x )

◆ read()

std::enable_if<!std::is_base_of< Serializable, U >::value &&!EigenIO::is_tensor< U >::value, void >::type Reader::read ( const std::string & s,
U & output )
inherited

Definition at line 186 of file BaseIO.h.

References U.

Referenced by Grid::Hdf5Reader::readRagged().

◆ Reshape()

std::enable_if< EigenIO::is_tensor_variable< ETensor >::value, void >::type Reader::Reshape ( ETensor & t,
const std::array< typename ETensor::Index, ETensor::NumDimensions > & dims )
inherited

Definition at line 202 of file BaseIO.h.

◆ copyScalars()

std::enable_if< EigenIO::is_scalar< S >::value, void >::type Grid::Reader< Hdf5Reader >::copyScalars ( S & Dest,
const S *& pSource )
inlineinherited

Definition at line 210 of file BaseIO.h.

◆ fromString()

void Reader::fromString ( U & output,
const std::string & s )
protectedinherited

Definition at line 225 of file BaseIO.h.

References U.

Field Documentation

◆ fileName_

std::string Grid::Hdf5Reader::fileName_
private

Definition at line 111 of file Hdf5IO.h.

Referenced by Hdf5Reader().

◆ path_

std::vector<std::string> Grid::Hdf5Reader::path_
private

Definition at line 112 of file Hdf5IO.h.

Referenced by pop(), and push().

◆ file_

H5NS::H5File Grid::Hdf5Reader::file_
private

Definition at line 113 of file Hdf5IO.h.

Referenced by Hdf5Reader(), and pop().

◆ group_

H5NS::Group Grid::Hdf5Reader::group_
private

◆ dataSetThres_

unsigned int Grid::Hdf5Reader::dataSetThres_
private

Definition at line 115 of file Hdf5IO.h.

Referenced by Hdf5Reader(), and readMultiDim().

◆ upcast

Hdf5Reader* Grid::Reader< Hdf5Reader >::upcast
privateinherited

Definition at line 227 of file BaseIO.h.


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