diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-10-14 23:26:20 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-10-14 23:26:20 +0000 |
commit | c9debfbf06c3fa717b16548a99b9a3f381d4eae7 (patch) | |
tree | e0e7ad71b46bcb15b1dbcbb2e56ef09cd587cf70 /include/llvm/ADT | |
parent | 13739433d0b0edbb5e2432b6591e08d636e87594 (diff) | |
download | external_llvm-c9debfbf06c3fa717b16548a99b9a3f381d4eae7.zip external_llvm-c9debfbf06c3fa717b16548a99b9a3f381d4eae7.tar.gz external_llvm-c9debfbf06c3fa717b16548a99b9a3f381d4eae7.tar.bz2 |
Add llvm::hexdigit to StringExtras (number -> hexadecimal char)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57536 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT')
-rw-r--r-- | include/llvm/ADT/StringExtras.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/llvm/ADT/StringExtras.h b/include/llvm/ADT/StringExtras.h index 87b8ba6..872c845 100644 --- a/include/llvm/ADT/StringExtras.h +++ b/include/llvm/ADT/StringExtras.h @@ -23,6 +23,12 @@ namespace llvm { +/// hexdigit - Return the (uppercase) hexadecimal character for the +/// given number \arg X (which should be less than 16). +static inline char hexdigit(unsigned X) { + return X < 10 ? '0' + X : 'A' + X - 10; +} + static inline std::string utohexstr(uint64_t X) { char Buffer[40]; char *BufPtr = Buffer+39; @@ -32,10 +38,7 @@ static inline std::string utohexstr(uint64_t X) { while (X) { unsigned char Mod = static_cast<unsigned char>(X) & 15; - if (Mod < 10) - *--BufPtr = '0' + Mod; - else - *--BufPtr = 'A' + Mod-10; + *--BufPtr = hexdigit(Mod); X >>= 4; } return std::string(BufPtr); |