HighFive 2.3.1
HighFive - Header-only C++ HDF5 interface
Loading...
Searching...
No Matches
H5Slice_traits.hpp
Go to the documentation of this file.
1/*
2 * Copyright (c), 2017, Adrien Devresse <adrien.devresse@epfl.ch>
3 *
4 * Distributed under the Boost Software License, Version 1.0.
5 * (See accompanying file LICENSE_1_0.txt or copy at
6 * http://www.boost.org/LICENSE_1_0.txt)
7 *
8 */
9#ifndef H5SLICE_TRAITS_HPP
10#define H5SLICE_TRAITS_HPP
11
12#include <cstdlib>
13#include <vector>
14
15#include "H5_definitions.hpp"
16#include "H5Utils.hpp"
17
18namespace HighFive {
19
21 public:
27 explicit ElementSet(std::initializer_list<std::size_t> list);
32 explicit ElementSet(std::initializer_list<std::vector<std::size_t>> list);
38 explicit ElementSet(const std::vector<std::size_t>& element_ids);
43 explicit ElementSet(const std::vector<std::vector<std::size_t>>& element_ids);
44
45 private:
46 std::vector<std::size_t> _ids;
47
48 template <typename Derivate>
49 friend class SliceTraits;
50};
51
52
53template <typename Derivate>
55 public:
63 Selection select(const std::vector<size_t>& offset,
64 const std::vector<size_t>& count,
65 const std::vector<size_t>& stride = std::vector<size_t>()) const;
66
72 Selection select(const std::vector<size_t>& columns) const;
73
77 Selection select(const ElementSet& elements) const;
78
88 template <typename T>
89 void read(T& array) const;
90
99 template <typename T>
100 void read(T* array, const DataType& dtype = DataType()) const;
101
109 template <typename T>
110 void write(const T& buffer);
111
121 template <typename T>
122 void write_raw(const T* buffer, const DataType& dtype = DataType());
123
124};
125
126} // namespace HighFive
127
128#endif // H5SLICE_TRAITS_HPP
HDF5 Data Type.
Definition: H5DataType.hpp:42
Definition: H5Slice_traits.hpp:20
Selection: represent a view on a slice/part of a dataset.
Definition: H5Selection.hpp:23
Definition: H5Slice_traits.hpp:54
void read(T &array) const
Definition: H5Slice_traits_misc.hpp:171
void write(const T &buffer)
Definition: H5Slice_traits_misc.hpp:214
Selection select(const std::vector< size_t > &offset, const std::vector< size_t > &count, const std::vector< size_t > &stride=std::vector< size_t >()) const
Select a region in the current Slice/Dataset of count points at offset separated by stride....
Definition: H5Slice_traits_misc.hpp:75
void write_raw(const T *buffer, const DataType &dtype=DataType())
Definition: H5Slice_traits_misc.hpp:233
Definition: H5_definitions.hpp:15