Merge pull request #8870

eb94356 Add to_hex::buffer (Lee *!* Clagett)
This commit is contained in:
luigi1111
2023-06-27 11:45:48 -05:00
3 changed files with 27 additions and 0 deletions
+3
View File
@@ -67,6 +67,9 @@ namespace epee
return out;
}
//! Write `src` as hex to `out`. `out` must be exactly 2x in size.
static bool buffer(span<char> out, const span<const std::uint8_t> src) noexcept;
//! Append `src` as hex to `out`.
static void buffer(std::ostream& out, const span<const std::uint8_t> src);
+8
View File
@@ -69,6 +69,14 @@ namespace epee
std::string to_hex::string(const span<const std::uint8_t> src) { return convert<std::string>(src); }
epee::wipeable_string to_hex::wipeable_string(const span<const std::uint8_t> src) { return convert<epee::wipeable_string>(src); }
bool to_hex::buffer(span<char> out, const span<const std::uint8_t> src) noexcept
{
if (out.size() % 2 != 0 || out.size() / 2 != src.size())
return false;
to_hex::buffer_unchecked(out.data(), src);
return true;
}
void to_hex::buffer(std::ostream& out, const span<const std::uint8_t> src)
{
write_hex(std::ostreambuf_iterator<char>{out}, src);