7 #if !defined(MQTT_SUBSCRIBE_OPTIONS_HPP)
8 #define MQTT_SUBSCRIBE_OPTIONS_HPP
23 enum class rap : std::uint8_t
28 enum class nl : std::uint8_t
33 enum class qos : std::uint8_t
70 {
return static_cast<rap>(data_ & 0b00001000); }
72 {
return static_cast<nl>(data_ & 0b00000100); }
74 {
return static_cast<qos>(data_ & 0b00000011); }
76 explicit constexpr
operator std::uint8_t()
const {
return data_; }
102 default:
return "invalid_retain_handling";
117 default:
return "invalid_rap";
132 default:
return "invalid_nl";
148 default:
return "invalid_qos";
constexpr char const * qos_to_str(qos v)
Definition: subscribe_options.hpp:143
constexpr char const * nl_to_str(nl v)
Definition: subscribe_options.hpp:128
retain_handling
Definition: subscribe_options.hpp:18
@ send_only_new_subscription
retain
Definition: publish.hpp:42
nl
Definition: subscribe_options.hpp:29
constexpr publish_options operator|(retain lhs, dup rhs)
Definition: publish.hpp:93
std::ostream & operator<<(std::ostream &os, connect_return_code val)
Definition: connect_return_code.hpp:43
constexpr char const * retain_handling_to_str(retain_handling v)
Definition: subscribe_options.hpp:97
qos
Definition: subscribe_options.hpp:34
constexpr char const * rap_to_str(rap v)
Definition: subscribe_options.hpp:113
rap
Definition: subscribe_options.hpp:24
Definition: subscribe_options.hpp:40
constexpr subscribe_options(subscribe_options const &)=default
constexpr subscribe_options & operator|=(subscribe_options rhs)
Definition: subscribe_options.hpp:61
constexpr rap get_rap() const
Definition: subscribe_options.hpp:69
constexpr subscribe_options & operator|=(nl rhs)
Definition: subscribe_options.hpp:64
constexpr subscribe_options(qos value)
Definition: subscribe_options.hpp:53
constexpr subscribe_options operator|(rap rhs) const
Definition: subscribe_options.hpp:57
constexpr subscribe_options(retain_handling value)
Definition: subscribe_options.hpp:50
constexpr subscribe_options(subscribe_options &&)=default
constexpr nl get_nl() const
Definition: subscribe_options.hpp:71
constexpr retain_handling get_retain_handling() const
Definition: subscribe_options.hpp:67
constexpr subscribe_options(nl value)
Definition: subscribe_options.hpp:52
constexpr subscribe_options & operator=(subscribe_options const &)=default
constexpr subscribe_options operator|(qos rhs) const
Definition: subscribe_options.hpp:59
constexpr subscribe_options & operator|=(retain_handling rhs)
Definition: subscribe_options.hpp:62
constexpr subscribe_options & operator=(subscribe_options &&)=default
constexpr subscribe_options & operator|=(qos rhs)
Definition: subscribe_options.hpp:65
~subscribe_options()=default
constexpr qos get_qos() const
Definition: subscribe_options.hpp:73
constexpr subscribe_options(std::uint8_t value)
Definition: subscribe_options.hpp:48
constexpr subscribe_options(rap value)
Definition: subscribe_options.hpp:51
constexpr subscribe_options operator|(retain_handling rhs) const
Definition: subscribe_options.hpp:56
constexpr subscribe_options & operator|=(rap rhs)
Definition: subscribe_options.hpp:63
constexpr subscribe_options operator|(subscribe_options rhs) const
Definition: subscribe_options.hpp:55
constexpr subscribe_options()=delete
constexpr subscribe_options operator|(nl rhs) const
Definition: subscribe_options.hpp:58