diff options
Diffstat (limited to 'contrib/epee')
-rw-r--r-- | contrib/epee/include/hex.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/contrib/epee/include/hex.h b/contrib/epee/include/hex.h index 6e720f128..4e8f90786 100644 --- a/contrib/epee/include/hex.h +++ b/contrib/epee/include/hex.h @@ -51,12 +51,22 @@ namespace epee template<std::size_t N> static std::array<char, N * 2> array(const std::array<std::uint8_t, N>& src) noexcept { - std::array<char, N * 2> out{{}}; + std::array<char, N * 2> out; static_assert(N <= 128, "keep the stack size down"); buffer_unchecked(out.data(), {src.data(), src.size()}); return out; } + //! \return An array containing hex of `src`. + template<typename T> + static std::array<char, sizeof(T) * 2> array(const T& src) noexcept + { + std::array<char, sizeof(T) * 2> out; + static_assert(sizeof(T) <= 128, "keep the stack size down"); + buffer_unchecked(out.data(), as_byte_span(src)); + return out; + } + //! Append `src` as hex to `out`. static void buffer(std::ostream& out, const span<const std::uint8_t> src); |