7 #if !defined(MQTT_FOUR_BYTE_UTIL_HPP)
8 #define MQTT_FOUR_BYTE_UTIL_HPP
14 #include <boost/assert.hpp>
15 #include <boost/container/static_vector.hpp>
21 inline boost::container::static_vector<char, 4>
num_to_4bytes(std::uint32_t val) {
23 static_cast<char>(val >> 24),
24 static_cast<char>(val >> 16),
25 static_cast<char>(val >> 8),
26 static_cast<char>(val & 0xff)
32 buf.push_back(
static_cast<char>(num >> 24));
33 buf.push_back(
static_cast<char>(num >> 16));
34 buf.push_back(
static_cast<char>(num >> 8));
35 buf.push_back(
static_cast<char>(num & 0xff));
38 template <
typename It>
41 BOOST_ASSERT(std::distance(b, e) == 4);
47 static_cast<std::uint32_t
>(
48 (
static_cast<std::uint16_t
>(*b1) & 0xff) << 24 |
49 (
static_cast<std::uint16_t
>(*b2) & 0xff) << 16 |
50 (
static_cast<std::uint16_t
>(*b3) & 0xff) << 8 |
51 (
static_cast<std::uint16_t
>(*b4) & 0xff)
void add_uint32_t_to_buf(T &buf, std::uint32_t num)
Definition: four_byte_util.hpp:31
boost::container::static_vector< char, 4 > num_to_4bytes(std::uint32_t val)
Definition: four_byte_util.hpp:21
constexpr std::uint32_t make_uint32_t(It b, It e)
Definition: four_byte_util.hpp:39