8#include "Arp/Base/Core/Enum.hxx"
10namespace Arp {
namespace Base {
namespace Acf {
namespace Commons
49enum class SystemState :
uint32
59 Initializing = (1 << 9),
63 Resetting = (1 << 13),
64 Disposing = (1 << 14),
65 PoweringDown = (1 << 15),
68 SystemError = (1 << 16),
71 SystemTerminating = (1 << 24),
74 StateMask = 0x000000FF,
75 FlagsMask = ~StateMask,
76 TransitionFlags = 0x0000FF00,
77 ErrorFlags = 0x00FF0000,
78 InfoFlags = 0xFF000000,
81constexpr SystemState operator&(SystemState lhs, SystemState rhs)
83 using U = std::underlying_type<SystemState>::type;
84 return static_cast<SystemState
>(
static_cast<U
>(lhs) &
static_cast<U
>(rhs));
87constexpr SystemState operator|(SystemState lhs, SystemState rhs)
89 using U = std::underlying_type<SystemState>::type;
90 return static_cast<SystemState
>(
static_cast<U
>(lhs) |
static_cast<U
>(rhs));
93constexpr SystemState& operator&=(SystemState& lhs, SystemState rhs)
99constexpr SystemState& operator|=(SystemState& lhs, SystemState rhs)
105constexpr SystemState operator~(SystemState arg)
107 using U = std::underlying_type<SystemState>::type;
108 return static_cast<SystemState
>(~static_cast<U>(arg));
113ARP_EXPORT std::ostream& operator<<(std::ostream& os, SystemState value);
114ARP_EXPORT std::istream& operator>>(std::istream& is, SystemState& value);
120template<>
struct fmt::formatter<
Arp::Base::Acf::Commons::SystemState> :
public fmt::ostream_formatter {};
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
Root namespace for the PLCnext API