7 #include <boost/any.hpp>
13 #include <unordered_map>
26 std::shared_ptr<HDF5File> file_,
30 const int numCols_) :
path(path_),
48 Eigen::Matrix<ScalarType, Eigen::Dynamic, Eigen::Dynamic> temp = val*Eigen::Matrix<ScalarType, Eigen::Dynamic, Eigen::Dynamic>::Ones(
numRows,
numCols);
65 template<
typename ScalarType,
int rows,
int cols>
66 operator Eigen::Matrix<ScalarType,rows,cols>()
68 return eval<ScalarType,rows,cols>();
71 template<
typename ScalarType=
double,
int rows=Eigen::Dynamic,
int cols=Eigen::Dynamic>
72 Eigen::Matrix<ScalarType,rows,cols>
eval()
77 template<
typename ScalarType,
int rows,
int cols>
94 std::shared_ptr<HDF5File>
file;
105 #ifndef REGISTER_HDF5BLOCK_ANYTYPE
106 #define REGISTER_HDF5BLOCK_ANYTYPE(REGNAME, NAME) static auto regHDF ##REGNAME \
107 = muq::Utilities::BlockDataset::GetAnyWriterMap()->insert(std::make_pair(std::type_index(typeid(NAME)), muq::Utilities::AnyWriter<NAME>() ));
BlockDataset & operator=(ScalarType val)
std::unordered_map< std::type_index, AnyWriterType > AnyWriterMapType
Eigen::Matrix< ScalarType, rows, cols > eval()
static std::shared_ptr< AnyWriterMapType > GetAnyWriterMap()
std::function< void(boost::any const &, BlockDataset &)> AnyWriterType
BlockDataset & operator=(boost::any const &val)
BlockDataset(std::string const &path_, std::shared_ptr< HDF5File > file_, const int startRow_, const int startCol_, const int numRows_, const int numCols_)
std::shared_ptr< HDF5File > file
BlockDataset & operator=(MatrixType const &val)