h5gt 0.2.0
C++ wrapper for HDF5 library (based on HighFive project)
Loading...
Searching...
No Matches
H5DataType_py.h
1#include "h5gt_py.h"
2
3namespace h5gtpy {
4
5void DataType_py(py::class_<DataType, Object>& py_obj);
6
7template <typename T>
8void AtomicType_py(py::class_<AtomicType<T>, DataType>& py_obj) {
9 py_obj
10 .def(py::init<>());
11}
12
13void CompoundMember_py(py::class_<CompoundType::member_def>& py_obj);
14void CompoundType_py(py::class_<CompoundType, DataType>& py_obj);
15
16template<typename T>
17void EnumMember_py(py::class_<typename EnumType<T>::member_def>& py_obj) {
18 py_obj
19 .def(py::init<const std::string&, T>(),
20 py::arg("t_name"),
21 py::arg("t_value"))
22 .def_readwrite("name", &EnumType<T>::member_def::name)
23 .def_readwrite("value", &EnumType<T>::member_def::value);
24}
25
26template<typename T>
27void EnumType_py(py::class_<EnumType<T>, DataType>& py_obj) {
28 py_obj
29 .def(py::init<const EnumType<T>&>())
30 .def(py::init<const std::vector<typename EnumType<T>::member_def>&>(),
31 py::arg("members"))
32 .def("commit", &EnumType<T>::commit,
33 py::arg("object"),
34 py::arg("name"));
35}
36
37
38} // h5gtpy
create an HDF5 DataType from a C++ type
Definition H5DataType.hpp:124
HDF5 Data Type.
Definition H5DataType.hpp:48
Create a enum HDF5 datatype.
Definition H5DataType.hpp:241
Use for defining a member of enum type.
Definition H5DataType.hpp:245