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 StateMask = 0x000000FF,
72 FlagsMask = ~StateMask,
73 TransitionFlags = 0x0000FF00,
74 ErrorFlags = 0xFFFF0000,
77constexpr SystemState operator&(SystemState lhs, SystemState rhs)
79 using U = std::underlying_type<SystemState>::type;
80 return static_cast<SystemState
>(
static_cast<U
>(lhs) &
static_cast<U
>(rhs));
83constexpr SystemState operator|(SystemState lhs, SystemState rhs)
85 using U = std::underlying_type<SystemState>::type;
86 return static_cast<SystemState
>(
static_cast<U
>(lhs) |
static_cast<U
>(rhs));
89constexpr SystemState& operator&=(SystemState& lhs, SystemState rhs)
95constexpr SystemState& operator|=(SystemState& lhs, SystemState rhs)
101constexpr SystemState operator~(SystemState arg)
103 using U = std::underlying_type<SystemState>::type;
104 return static_cast<SystemState
>(~static_cast<U>(arg));
109ARP_EXPORT std::ostream& operator<<(std::ostream& os, SystemState value);
110ARP_EXPORT std::istream& operator>>(std::istream& is, SystemState& value);
116template<>
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