async_mqtt 9.0.1
Loading...
Searching...
No Matches
topic_subopts.hpp
1// Copyright Takatoshi Kondo 2022
2//
3// Distributed under the Boost Software License, Version 1.0.
4// (See accompanying file LICENSE_1_0.txt or copy at
5// http://www.boost.org/LICENSE_1_0.txt)
6
7#if !defined(ASYNC_MQTT_PACKET_TOPIC_SUBOPTS_HPP)
8#define ASYNC_MQTT_PACKET_TOPIC_SUBOPTS_HPP
9
10#include <async_mqtt/packet/topic_sharename.hpp>
11#include <async_mqtt/packet/subopts.hpp>
12
13namespace async_mqtt {
14
29public:
30
37 std::string all_topic,
39 ): topic_sharename_{force_move(all_topic)},
40 opts_{opts}
41 {
42 }
43
48 std::string const& topic() const {
49 return topic_sharename_.topic();
50 }
51
56 std::string const& sharename() const {
57 return topic_sharename_.sharename();
58 }
59
66 std::string const& all_topic() const {
67 return topic_sharename_.all_topic();
68 }
69
74 sub::opts const& opts() const { // return reference in mandatory
75 return opts_;
76 }
77
83 operator bool() const {
84 return static_cast<bool>(topic_sharename_);
85 }
86
93 friend
94 bool operator<(topic_subopts const& lhs, topic_subopts const& rhs) {
95 return
96 std::tie(lhs.topic_sharename_, lhs.opts_) <
97 std::tie(rhs.topic_sharename_, rhs.opts_);
98 }
99
106 friend
107 bool operator==(topic_subopts const& lhs, topic_subopts const& rhs) {
108 return
109 std::tie(lhs.topic_sharename_, lhs.opts_) ==
110 std::tie(rhs.topic_sharename_, rhs.opts_);
111 }
112
113private:
114 topic_sharename topic_sharename_;
115 sub::opts opts_;
116};
117
118} // namespace async_mqtt
119
120#endif // ASYNC_MQTT_PACKET_TOPIC_SUBOPTS_HPP
topic and sharename
Definition topic_sharename.hpp:27
std::string const & topic() const
Get topic.
Definition topic_sharename.hpp:64
std::string const & sharename() const
Get sharename.
Definition topic_sharename.hpp:72
std::string const & all_topic() const
Get all_topic.
Definition topic_sharename.hpp:82
subsscription entry
Definition topic_subopts.hpp:28
std::string const & sharename() const
Get sharename.
Definition topic_subopts.hpp:56
friend bool operator<(topic_subopts const &lhs, topic_subopts const &rhs)
less than operator
Definition topic_subopts.hpp:94
friend bool operator==(topic_subopts const &lhs, topic_subopts const &rhs)
equal operator
Definition topic_subopts.hpp:107
std::string const & topic() const
Get topic.
Definition topic_subopts.hpp:48
sub::opts const & opts() const
Get subscribe options.
Definition topic_subopts.hpp:74
topic_subopts(std::string all_topic, sub::opts opts)
constructor
Definition topic_subopts.hpp:36
std::string const & all_topic() const
Get all_topic.
Definition topic_subopts.hpp:66
MQTT SubscribeOptions.
Definition subopts.hpp:90