8#include "Arp/Base/Core/Enum.hxx"
12namespace Arp::Services::SoftwareUpdate::Services
20enum class UpdateBehavior :
uint32
42 RequiresPowerCycle = 4,
54 NeedsPreparation = 16,
57constexpr UpdateBehavior operator|(UpdateBehavior lhs, UpdateBehavior rhs)
59 return static_cast<UpdateBehavior
>(
static_cast<uint32>(lhs) |
static_cast<uint32>(rhs));
62constexpr UpdateBehavior operator&(UpdateBehavior lhs, UpdateBehavior rhs)
64 return static_cast<UpdateBehavior
>(
static_cast<uint32>(lhs) &
static_cast<uint32>(rhs));
67constexpr UpdateBehavior& operator|=(UpdateBehavior& lhs, UpdateBehavior rhs)
69 return (lhs =
static_cast<UpdateBehavior
>(
static_cast<uint32>(lhs) |
static_cast<uint32>(rhs)));
72constexpr UpdateBehavior& operator&=(UpdateBehavior& lhs, UpdateBehavior rhs)
74 return (lhs =
static_cast<UpdateBehavior
>(
static_cast<uint32>(lhs) &
static_cast<uint32>(rhs)));
77constexpr UpdateBehavior operator~(UpdateBehavior arg)
79 return static_cast<UpdateBehavior
>(~static_cast<uint32>(arg));
84ARP_EXPORT std::ostream& operator<<(std::ostream& os, UpdateBehavior value);
85ARP_EXPORT std::istream& operator>>(std::istream& is, UpdateBehavior& value);
91template<>
struct fmt::formatter<
Arp::Services::SoftwareUpdate::Services::UpdateBehavior> :
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