Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This version of Boost is under active development. You are currently in the master branch. The current version is 1.90.0.
The last field in the Variable header of SUBACK packet is a set of Properties.
A set contains a Property Length followed by the Properties. A Property consists
of an Identifier and a value.
This class extends prop::properties,
which provides common functionalities for all property classes. Below is
a list of possible SUBACK Properties, along with descriptions
of their usage:
Table 1.13. SUBACK properties
|
Identifier |
Value type |
Description |
|---|---|---|
|
reason_string |
|
A UTF-8 Encoded String representing the reason associated with this response. |
|
user_property |
|
Name, value pair ( |
After obtaining an instance of boost::mqtt5::suback_props,
the subscript operator can be used to access a Property.
The Identifiers listed in the table above are available within the boost::mqtt5::prop namespace for Property access.
![]() |
Note |
|---|---|
When accessing a property value, the subscript operator will return a
|
The following example shows how to set a Property value:
boost::mqtt5::suback_props props; props[boost::mqtt5::prop::reason_string] = "Some reason..."; props[boost::mqtt5::prop::user_property].emplace_back("name", "value");
The following example shows how to retrieve a Property value:
std::optional<std::string> reason_string = props[boost::mqtt5::prop::reason_string]; if (reason_string.has_value()) // reason string property was previously set else // reason string property was not set std::vector<std::pair<std::string, std::string>>& user_props = props[boost::mqtt5::prop::user_property]; if (!user_props.empty()) // user property was previously set else // user property was not set