diff options
| author | Wladimir J. van der Laan <[email protected]> | 2020-06-24 17:26:47 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2020-08-06 19:41:43 +0200 |
| commit | 0a8aa626dd69a357e1b798b07b64cf4177a464a3 (patch) | |
| tree | 44736ce734e8b6b2259becff3962ee3290f7969d /src/util/strencodings.cpp | |
| parent | Merge #19326: Simplify hash.h interface using Spans (diff) | |
| download | discoin-0a8aa626dd69a357e1b798b07b64cf4177a464a3.tar.xz discoin-0a8aa626dd69a357e1b798b07b64cf4177a464a3.zip | |
refactor: Make HexStr take a span
Make HexStr take a span of bytes, instead of an awkward pair of
templated iterators.
Diffstat (limited to 'src/util/strencodings.cpp')
| -rw-r--r-- | src/util/strencodings.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/util/strencodings.cpp b/src/util/strencodings.cpp index 3a903b689..d10f92ffe 100644 --- a/src/util/strencodings.cpp +++ b/src/util/strencodings.cpp @@ -569,3 +569,16 @@ std::string Capitalize(std::string str) str[0] = ToUpper(str.front()); return str; } + +std::string HexStr(const Span<const uint8_t> s) +{ + std::string rv; + static constexpr char hexmap[16] = { '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; + rv.reserve(s.size() * 2); + for (uint8_t v: s) { + rv.push_back(hexmap[v >> 4]); + rv.push_back(hexmap[v & 15]); + } + return rv; +} |