10#define H5DATASPACE_HPP
16#include <initializer_list>
20#include <boost/serialization/vector.hpp>
21#include <boost/multi_array.hpp>
22#include <boost/numeric/ublas/matrix.hpp>
29#include "H5PropertyList.hpp"
30#include "bits/H5_definitions.hpp"
40 const static ObjectType type = ObjectType::DataSpace;
42 static const size_t UNLIMITED = SIZE_MAX;
56 explicit DataSpace(
const std::vector<size_t>& dims);
60 explicit DataSpace(
const std::array<size_t, N>& dims);
65 DataSpace(
const std::initializer_list<size_t>& items);
69 template<
typename... Args>
70 explicit DataSpace(
size_t dim1, Args... dims);
75 template <typename IT, typename = typename std::enable_if<!std::is_integral<IT>::value,IT>::type>
82 explicit DataSpace(
const std::vector<size_t>& dims,
83 const std::vector<size_t>& maxdims);
119 template <
typename T>
122 template <std::
size_t N, std::
size_t W
idth>
123 static DataSpace FromCharArrayStrings(
const char(&)[N][Width]);
125 static DataSpace FromId(
const hid_t&
id,
const bool& increaseRefCount =
false){
126 Object obj =
Object(
id, ObjectType::DataSpace, increaseRefCount);
131 DataSpace(
const Object& obj) : Object(obj){};
134 friend class Attribute;
136 friend class DataSet;
137 friend class Selection;
143#include "bits/H5Dataspace_misc.hpp"
Class representing the space (dimensions) of a dataset.
Definition H5DataSpace.hpp:37
size_t getElementCount() const
getElementCount
Definition H5Dataspace_misc.hpp:114
DataSpace clone() const
Definition H5Dataspace_misc.hpp:86
size_t getElementCountSelected() const
getElementCountSelected
Definition H5Dataspace_misc.hpp:120
static DataSpace From(const T &value)
Create a dataspace matching a type accepted by details::inspector.
Definition H5Dataspace_misc.hpp:137
DataSpace(const std::vector< size_t > &dims)
Definition H5Dataspace_misc.hpp:23
DataspaceType
dataspace type
Definition H5DataSpace.hpp:45
size_t getNumberDimensions() const
getNumberDimensions
Definition H5Dataspace_misc.hpp:94
std::vector< size_t > getMaxDimensions() const
getMaxDimensions
Definition H5Dataspace_misc.hpp:124
std::vector< size_t > getDimensions() const
getDimensions
Definition H5Dataspace_misc.hpp:103
Definition H5Object.hpp:55