fire v0.19.0
Framework for sImulation and Reconstruction of Events
Atomic.h
Go to the documentation of this file.
1
3#ifndef FIRE_IO_ATOMIC_H
4#define FIRE_IO_ATOMIC_H
5
9#ifdef TRUE
10#define NEED_TO_REDEFINE_TRUE
11#undef TRUE
12#undef FALSE
13#endif
14
15#include <type_traits>
16
17#include <highfive/H5DataType.hpp>
18
19namespace fire::io {
20
28template <typename AtomicType>
29using is_atomic =
33
35template <typename AtomicType>
37
44enum class Bool : bool {
45 TRUE = true,
46 FALSE = false
47};
48
52HighFive::EnumType<Bool> create_enum_bool();
53
54} // namespace fire::io
55
73template<>
74HighFive::DataType HighFive::create_datatype<fire::io::Bool>();
75
76#endif
Geant4 does a GLOBAL definition of the keyword TRUE.
Definition: AbstractData.h:11
Bool
Boolean enum aligned with h5py.
Definition: Atomic.h:44
HighFive::EnumType< Bool > create_enum_bool()
HighFive method for creating the enum data type.
Definition: Atomic.cxx:5
constexpr bool is_atomic_v
shorthand for easier use
Definition: Atomic.h:36