Grid 0.7.0
Grid::Hdf5Writer Class Reference

#include <Hdf5IO.h>

Inheritance diagram for Grid::Hdf5Writer:
Grid::Writer< Hdf5Writer >

Public Member Functions

 Hdf5Writer (const std::string &fileName)
virtual ~Hdf5Writer (void)=default
void push (const std::string &s)
void pop (void)
void writeDefault (const std::string &s, const char *x)
template<typename U>
void writeDefault (const std::string &s, const U &x)
template<typename U>
void writeRagged (const std::string &s, const std::vector< U > &x)
template<typename U>
std::enable_if< is_flattenable< std::vector< U > >::value >::type writeDefault (const std::string &s, const std::vector< U > &x)
template<typename U>
std::enable_if<!is_flattenable< std::vector< U > >::value >::type writeDefault (const std::string &s, const std::vector< U > &x)
template<typename U>
void writeMultiDim (const std::string &s, const std::vector< size_t > &Dimensions, const U *pDataRowMajor, size_t NumElements)
H5NS::Group & getGroup (void)
template<>
void writeDefault (const std::string &s, const std::string &x)
template<>
void writeDefault (const std::string &s, const std::string &x)
std::enable_if< std::is_base_of< Serializable, U >::value >::type write (const std::string &s, const U &output)
std::enable_if< EigenIO::is_scalar< S >::value, void >::type copyScalars (S *&pCopy, const S &Source)
void scientificFormat (const bool set)
bool isScientific (void)
void setPrecision (const unsigned int prec)
unsigned int getPrecision (void)

Private Member Functions

template<typename U>
void writeSingleAttribute (const 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_
const unsigned int dataSetThres_
Hdf5Writerupcast
bool scientific_
unsigned int prec_

Detailed Description

Definition at line 53 of file Hdf5IO.h.

Constructor & Destructor Documentation

◆ Hdf5Writer()

Hdf5Writer::Hdf5Writer ( const std::string & fileName)

Definition at line 40 of file Hdf5IO.cc.

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

◆ ~Hdf5Writer()

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

References U.

Member Function Documentation

◆ push()

void Hdf5Writer::push ( const std::string & s)

Definition at line 49 of file Hdf5IO.cc.

References group_, and path_.

Referenced by writeRagged().

◆ pop()

void Hdf5Writer::pop ( void )

Definition at line 55 of file Hdf5IO.cc.

References file_, group_, and path_.

Referenced by writeRagged().

◆ writeDefault() [1/6]

void Hdf5Writer::writeDefault ( const std::string & s,
const char * x )

Definition at line 82 of file Hdf5IO.cc.

References writeDefault().

Referenced by writeDefault().

◆ writeDefault() [2/6]

template<typename U>
void Grid::Hdf5Writer::writeDefault ( const std::string & s,
const U & x )

Definition at line 132 of file Hdf5IO.h.

References U, and writeSingleAttribute().

◆ writeRagged()

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

Definition at line 233 of file Hdf5IO.h.

References HDF5_GRID_GUARD, pop(), push(), Grid::Writer< Hdf5Writer >::write(), and writeSingleAttribute().

Referenced by writeDefault().

◆ writeDefault() [3/6]

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

◆ writeDefault() [4/6]

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

Definition at line 70 of file Hdf5IO.h.

References writeRagged().

◆ writeMultiDim()

template<typename U>
void Grid::Hdf5Writer::writeMultiDim ( const std::string & s,
const std::vector< size_t > & Dimensions,
const U * pDataRowMajor,
size_t NumElements )

Definition at line 141 of file Hdf5IO.h.

References dataSetThres_, GridLogWarning, group_, and U.

Referenced by writeDefault().

◆ getGroup()

Group & Hdf5Writer::getGroup ( void )

Definition at line 89 of file Hdf5IO.cc.

References group_.

◆ writeSingleAttribute()

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

Definition at line 120 of file Hdf5IO.h.

References group_, and U.

Referenced by Hdf5Writer(), writeDefault(), writeDefault(), and writeRagged().

◆ writeDefault() [5/6]

template<>
void Grid::Hdf5Writer::writeDefault ( const std::string & s,
const std::string & x )

Definition at line 75 of file Hdf5IO.cc.

References writeSingleAttribute().

◆ writeDefault() [6/6]

template<>
void Grid::Hdf5Writer::writeDefault ( const std::string & s,
const std::string & x )

◆ write()

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

Definition at line 136 of file BaseIO.h.

References U.

Referenced by Grid::Hdf5Writer::writeRagged().

◆ copyScalars()

std::enable_if< EigenIO::is_scalar< S >::value, void >::type Grid::Writer< Hdf5Writer >::copyScalars ( S *& pCopy,
const S & Source )
inlineinherited

Definition at line 152 of file BaseIO.h.

◆ scientificFormat()

void Writer::scientificFormat ( const bool set)
inherited

Definition at line 165 of file BaseIO.h.

◆ isScientific()

bool Writer::isScientific ( void )
inherited

Definition at line 166 of file BaseIO.h.

◆ setPrecision()

void Writer::setPrecision ( const unsigned int prec)
inherited

Definition at line 167 of file BaseIO.h.

◆ getPrecision()

unsigned int Writer::getPrecision ( void )
inherited

Definition at line 168 of file BaseIO.h.

Field Documentation

◆ fileName_

std::string Grid::Hdf5Writer::fileName_
private

Definition at line 79 of file Hdf5IO.h.

Referenced by Hdf5Writer().

◆ path_

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

Definition at line 80 of file Hdf5IO.h.

Referenced by pop(), and push().

◆ file_

H5NS::H5File Grid::Hdf5Writer::file_
private

Definition at line 81 of file Hdf5IO.h.

Referenced by Hdf5Writer(), and pop().

◆ group_

H5NS::Group Grid::Hdf5Writer::group_
private

Definition at line 82 of file Hdf5IO.h.

Referenced by getGroup(), Hdf5Writer(), pop(), push(), writeMultiDim(), and writeSingleAttribute().

◆ dataSetThres_

const unsigned int Grid::Hdf5Writer::dataSetThres_
private

Definition at line 83 of file Hdf5IO.h.

Referenced by Hdf5Writer(), and writeMultiDim().

◆ upcast

Hdf5Writer* Grid::Writer< Hdf5Writer >::upcast
privateinherited

Definition at line 170 of file BaseIO.h.

◆ scientific_

bool Grid::Writer< Hdf5Writer >::scientific_
privateinherited

Definition at line 171 of file BaseIO.h.

◆ prec_

unsigned int Grid::Writer< Hdf5Writer >::prec_
privateinherited

Definition at line 172 of file BaseIO.h.


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