8#include "Arp/Base/Core/Enum.hxx"
10namespace Arp {
namespace Base {
namespace Acf {
namespace Commons
41enum class SystemState :
uint32
50 Initializing = (1 << 9),
54 Resetting = (1 << 13),
55 Disposing = (1 << 14),
58 SystemError = (1 << 16),
61 StateMask = 0x000000FF,
62 FlagsMask = ~StateMask,
63 TransitionFlags = 0x0000FF00,
64 ErrorFlags = 0xFFFF0000,
67constexpr SystemState operator&(SystemState lhs, SystemState rhs)
69 using U = std::underlying_type<SystemState>::type;
70 return static_cast<SystemState
>(
static_cast<U
>(lhs) &
static_cast<U
>(rhs));
73constexpr SystemState operator|(SystemState lhs, SystemState rhs)
75 using U = std::underlying_type<SystemState>::type;
76 return static_cast<SystemState
>(
static_cast<U
>(lhs) |
static_cast<U
>(rhs));
79constexpr SystemState& operator&=(SystemState& lhs, SystemState rhs)
85constexpr SystemState& operator|=(SystemState& lhs, SystemState rhs)
91constexpr SystemState operator~(SystemState arg)
93 using U = std::underlying_type<SystemState>::type;
94 return static_cast<SystemState
>(~static_cast<U>(arg));
99ARP_EXPORT std::ostream& operator<<(std::ostream& os, SystemState value);
100ARP_EXPORT std::istream& operator>>(std::istream& is, SystemState& value);
106template<>
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