| 123456789101112131415161718192021222324252627282930313233343536 | // Copyright Takatoshi Kondo 2015//// Distributed under the Boost Software License, Version 1.0.// (See accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)#if !defined(MQTT_REMAINING_LENGTH_HPP)#define MQTT_REMAINING_LENGTH_HPP#include <mqtt/namespace.hpp>#include <mqtt/string_view.hpp>#include <mqtt/variable_length.hpp>namespace MQTT_NS {inline std::stringremaining_bytes(std::size_t size) {    std::string bytes = variable_bytes(size);    if (bytes.empty() || bytes.size() > 4) throw remaining_length_error();    return bytes;}constexpr std::tuple<std::size_t, std::size_t>remaining_length(string_view bytes) {    return variable_length(bytes);}template <typename Iterator>constexpr std::tuple<std::size_t, std::size_t>remaining_length(Iterator b, Iterator e) {    return variable_length(b, e);}} // namespace MQTT_NS#endif // MQTT_REMAINING_LENGTH_HPP
 |