6 #ifndef ECHELON_HDF5_DATASET_DIMENSIONS_HPP 7 #define ECHELON_HDF5_DATASET_DIMENSIONS_HPP 9 #include <echelon/hdf5/type.hpp> 10 #include <echelon/hdf5/type_factory.hpp> 11 #include <echelon/hdf5/object.hpp> 12 #include <echelon/hdf5/dimension_scale.hpp> 42 const std::string& dataset_name,
const type& datatype,
43 const std::vector<hsize_t>& extent);
59 const std::string& dataset_name,
60 const std::vector<hsize_t>& extent)
68 std::string
label()
const;
74 void relabel(
const std::string& new_label);
81 const dataset* associated_dataset_;
92 typedef std::vector<dimension>::iterator
iterator;
108 return dimensions_[index];
119 return dimensions_[index];
126 return dimensions_.begin();
133 return dimensions_.end();
140 return dimensions_.begin();
145 const_iterator
end()
const 147 return dimensions_.end();
150 std::size_t count()
const;
153 std::vector<dimension> dimensions_;
echelon's core namespace
Definition: attribute.cpp:10
A handle to an HDF5 dataset.
Definition: hdf5/dataset.hpp:62
dimension_scale attach_dimension_scale(const std::string &scale_name, object location, const std::string &dataset_name, const std::vector< hsize_t > &extent)
Attach a new dimension scale to this dimension.
Definition: hdf5/dataset_dimensions.hpp:58
Accessor class for the dimensions of a dataset.
Definition: hdf5/dataset_dimensions.hpp:87
iterator end()
Iterator pointing just after the last dimension.
Definition: hdf5/dataset_dimensions.hpp:131
Handle to a dataset dimension.
Definition: hdf5/dataset_dimensions.hpp:26
const_iterator end() const
Iterator pointing just after the last dimension.
Definition: hdf5/dataset_dimensions.hpp:145
const dimension & operator[](std::size_t index) const
Access a dimension by index.
Definition: hdf5/dataset_dimensions.hpp:117
std::vector< dimension >::const_iterator const_iterator
Type of the iterator over all dataset dimensions.
Definition: hdf5/dataset_dimensions.hpp:96
std::vector< dimension >::iterator iterator
Type of the iterator over all dataset dimensions.
Definition: hdf5/dataset_dimensions.hpp:92
dimension_scale attach_dimension_scale(const std::string &scale_name, object location, const std::string &dataset_name, const type &datatype, const std::vector< hsize_t > &extent)
Attach a new dimension scale to this dimension.
Definition: hdf5/dataset_dimensions.cpp:21
dimension & operator[](std::size_t index)
Access a dimension by index.
Definition: hdf5/dataset_dimensions.hpp:106
hsize_t extend() const
The extend of the dimension.
Definition: hdf5/dataset_dimensions.cpp:44
const_iterator begin() const
Iterator pointing to the first dimension.
Definition: hdf5/dataset_dimensions.hpp:138
A handle to an HDF5 type.
Definition: hdf5/type.hpp:23
A handle to a dimension scale.
Definition: hdf5/dimension_scale.hpp:26
std::string label() const
The label of the dimension.
Definition: hdf5/dataset_dimensions.cpp:34
void relabel(const std::string &new_label)
Relabel the dimension.
Definition: hdf5/dataset_dimensions.cpp:39
iterator begin()
Iterator pointing to the first dimension.
Definition: hdf5/dataset_dimensions.hpp:124