Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <hdf5.h>
7 :
8 : #include "Utilities/ForceInline.hpp"
9 :
10 : // H5F wrappers
11 : namespace h5 {
12 : /// \ingroup HDF5Group
13 0 : SPECTRE_ALWAYS_INLINE auto h5f_acc_rdonly() {
14 : #pragma GCC diagnostic push
15 : #pragma GCC diagnostic ignored "-Wold-style-cast"
16 : return H5F_ACC_RDONLY;
17 : #pragma GCC diagnostic pop
18 : }
19 :
20 : /// \ingroup HDF5Group
21 0 : SPECTRE_ALWAYS_INLINE auto h5f_acc_rdwr() {
22 : #pragma GCC diagnostic push
23 : #pragma GCC diagnostic ignored "-Wold-style-cast"
24 : return H5F_ACC_RDWR;
25 : #pragma GCC diagnostic pop
26 : }
27 :
28 0 : SPECTRE_ALWAYS_INLINE auto h5f_acc_trunc() {
29 : #pragma GCC diagnostic push
30 : #pragma GCC diagnostic ignored "-Wold-style-cast"
31 : return H5F_ACC_TRUNC;
32 : #pragma GCC diagnostic pop
33 : }
34 : } // namespace h5
35 :
36 : // H5P wrappers
37 : namespace h5 {
38 : /// \ingroup HDF5Group
39 0 : SPECTRE_ALWAYS_INLINE auto h5p_default() {
40 : #pragma GCC diagnostic push
41 : #pragma GCC diagnostic ignored "-Wold-style-cast"
42 : return H5P_DEFAULT;
43 : #pragma GCC diagnostic pop
44 : }
45 : } // namespace h5
46 :
47 : // H5S wrappers
48 : namespace h5 {
49 : /// \ingroup HDF5Group
50 0 : SPECTRE_ALWAYS_INLINE auto h5s_all() {
51 : #pragma GCC diagnostic push
52 : #pragma GCC diagnostic ignored "-Wold-style-cast"
53 : return H5S_ALL;
54 : #pragma GCC diagnostic pop
55 : }
56 :
57 : /// \ingroup HDF5Group
58 0 : SPECTRE_ALWAYS_INLINE auto h5s_unlimited() {
59 : #pragma GCC diagnostic push
60 : #pragma GCC diagnostic ignored "-Wold-style-cast"
61 : return H5S_UNLIMITED;
62 : #pragma GCC diagnostic pop
63 : }
64 :
65 : /// \ingroup HDF5Group
66 0 : SPECTRE_ALWAYS_INLINE auto h5s_scalar() {
67 : #pragma GCC diagnostic push
68 : #pragma GCC diagnostic ignored "-Wold-style-cast"
69 : return H5S_SCALAR;
70 : #pragma GCC diagnostic pop
71 : }
72 : } // namespace h5
|