9 #ifndef H5DATASPACE_HPP
10 #define H5DATASPACE_HPP
15 #include <type_traits>
16 #include <initializer_list>
20 #include <boost/serialization/vector.hpp>
21 #include <boost/multi_array.hpp>
22 #include <boost/numeric/ublas/matrix.hpp>
26 #include <Eigen/Eigen>
56 explicit DataSpace(
const std::vector<size_t>& dims);
61 DataSpace(
const std::initializer_list<size_t>& items);
65 template<
typename... Args>
66 explicit DataSpace(
size_t dim1, Args... dims);
71 template <typename IT, typename = typename std::enable_if<!std::is_integral<IT>::value,IT>
::type>
78 explicit DataSpace(
const std::vector<size_t>& dims,
79 const std::vector<size_t>& maxdims);
113 template <
typename ScalarValue>
121 template <
typename Value>
126 template <
typename Value, std::
size_t N>
129 template <
typename ValueT, std::
size_t N>
132 template <std::
size_t N, std::
size_t W
idth>
136 template <
typename Value, std::
size_t Dims>
137 static DataSpace From(
const boost::multi_array<Value, Dims>& container);
139 template <
typename Value>
140 static DataSpace From(
const boost::numeric::ublas::matrix<Value>& mat);
144 template <
typename Value,
int M,
int N>
145 static DataSpace From(
const Eigen::Matrix<Value, M, N>& mat);
147 template <
typename Value,
int M,
int N>
148 static DataSpace From(
const std::vector<Eigen::Matrix<Value, M, N>>& vec);
150 template <
typename Value,
int M,
int N,
size_t Dims>
151 static DataSpace From(
const boost::multi_array<Eigen::Matrix<Value, M, N>, Dims>& vec);
Class representing an attribute of a dataset or group.
Definition: H5Attribute.hpp:23
Class representing a dataset.
Definition: H5DataSet.hpp:29
Class representing the space (dimensions) of a dataset.
Definition: H5DataSpace.hpp:37
static DataSpace FromCharArrayStrings(const char(&)[N][Width])
Definition: H5Dataspace_misc.hpp:162
static const ObjectType type
Definition: H5DataSpace.hpp:40
size_t getNumberDimensions() const
getNumberDimensions
Definition: H5Dataspace_misc.hpp:90
std::vector< size_t > getMaxDimensions() const
getMaxDimensions
Definition: H5Dataspace_misc.hpp:116
DataspaceType
dataspace type
Definition: H5DataSpace.hpp:45
@ datascape_null
Definition: H5DataSpace.hpp:47
@ datascape_scalar
Definition: H5DataSpace.hpp:46
size_t getElementCount() const
getElementCount
Definition: H5Dataspace_misc.hpp:110
std::vector< size_t > getDimensions() const
getDimensions
Definition: H5Dataspace_misc.hpp:99
DataSpace clone() const
Definition: H5Dataspace_misc.hpp:82
static const size_t UNLIMITED
Definition: H5DataSpace.hpp:42
static DataSpace From(const ScalarValue &scalar_value)
Definition: H5Dataspace_misc.hpp:129
File class.
Definition: H5File.hpp:26
Definition: H5Object.hpp:36
Definition: H5_definitions.hpp:15
ObjectType
Enum of the types of objects (H5O api)
Definition: H5Object.hpp:25