#pragma once
+#include <util/Bytes.hpp>
+
#include <third_party/nonstd/expected.hpp>
#include <third_party/nonstd/span.hpp>
return std::string(sv);
}
+template<>
+inline std::string
+to_string(const nonstd::span<const uint8_t>& bytes)
+{
+ return std::string(to_string_view(bytes));
+}
+
+template<>
+inline std::string
+to_string(const util::Bytes& bytes)
+{
+ return std::string(to_string_view(bytes));
+}
+
inline std::string_view
to_string_view(nonstd::span<const uint8_t> data)
{
TEST_CASE("util::to_string")
{
+ const uint8_t bytes[] = {'f', 'o', 'o'};
const char str[] = "foo";
CHECK(util::to_string(std::string(str)) == std::string(str));
CHECK(util::to_string(std::string_view(str)) == std::string(str));
+ CHECK(util::to_string(nonstd::span<const uint8_t>(bytes))
+ == std::string(str));
+ CHECK(util::to_string(util::Bytes(bytes, 3)) == std::string(str));
}
TEST_CASE("util::to_string_view")