9 #ifndef H5DATASPACE_HPP
10 #define H5DATASPACE_HPP
15 #include <type_traits>
16 #include <initializer_list>
19 #include <boost/multi_array.hpp>
20 #include <boost/numeric/ublas/matrix.hpp>
47 explicit DataSpace(
const std::vector<size_t>& dims);
52 explicit DataSpace(std::initializer_list<size_t> items);
56 template<
typename... Args>
57 explicit DataSpace(
size_t dim1, Args... dims);
62 template <typename IT, typename = typename std::enable_if<!std::is_integral<IT>::value,IT>::type>
69 explicit DataSpace(
const std::vector<size_t>& dims,
70 const std::vector<size_t>& maxdims);
100 template <
typename ScalarValue>
108 template <
typename Value>
113 template <
typename Value, std::
size_t N>
118 template <
typename Value, std::
size_t Dims>
119 static DataSpace From(
const boost::multi_array<Value, Dims>& container);
121 template <
typename Value>
122 static DataSpace From(
const boost::numeric::ublas::matrix<Value>& mat);
136 #endif // H5DATASPACE_HPP