#pragma once // Specializations for assigning from a char into an output iterator, used by hex/base32z/base64 // decoding to bytes. #include #include namespace oxenmq::detail { // Fallback - we just try a char template struct byte_type { using type = char; }; // Support for things like std::back_inserter: template struct byte_type> { using type = typename OutputIt::container_type::value_type; }; // iterator, raw pointers: template struct byte_type::reference>>> { using type = std::remove_reference_t::reference>; }; template using byte_type_t = typename byte_type::type; }