projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[llvm-dwp] Initial partial prototype
[oota-llvm.git]
/
include
/
llvm
/
ADT
/
StringExtras.h
diff --git
a/include/llvm/ADT/StringExtras.h
b/include/llvm/ADT/StringExtras.h
index dccf3e809d4f8553c6a59a464d0a04152b3732d5..0992f5d4a54965dd22b17c8aac3ae2ce85001677 100644
(file)
--- a/
include/llvm/ADT/StringExtras.h
+++ b/
include/llvm/ADT/StringExtras.h
@@
-28,6
+28,11
@@
static inline char hexdigit(unsigned X, bool LowerCase = false) {
return X < 10 ? '0' + X : HexChar + X - 10;
}
return X < 10 ? '0' + X : HexChar + X - 10;
}
+/// Construct a string ref from a boolean.
+static inline StringRef toStringRef(bool B) {
+ return StringRef(B ? "true" : "false");
+}
+
/// Interpret the given character \p C as a hexadecimal digit and return its
/// value.
///
/// Interpret the given character \p C as a hexadecimal digit and return its
/// value.
///
@@
-48,7
+53,7
@@
static inline unsigned hexDigitValue(char C) {
/// This should only be used with unsigned types.
///
template<typename IntTy>
/// This should only be used with unsigned types.
///
template<typename IntTy>
-static inline char *utohex_buffer(IntTy X, char *BufferEnd) {
+static inline char *utohex_buffer(IntTy X, char *BufferEnd
, bool LowerCase = false
) {
char *BufPtr = BufferEnd;
*--BufPtr = 0; // Null terminate buffer.
if (X == 0) {
char *BufPtr = BufferEnd;
*--BufPtr = 0; // Null terminate buffer.
if (X == 0) {
@@
-58,15
+63,15
@@
static inline char *utohex_buffer(IntTy X, char *BufferEnd) {
while (X) {
unsigned char Mod = static_cast<unsigned char>(X) & 15;
while (X) {
unsigned char Mod = static_cast<unsigned char>(X) & 15;
- *--BufPtr = hexdigit(Mod);
+ *--BufPtr = hexdigit(Mod
, LowerCase
);
X >>= 4;
}
return BufPtr;
}
X >>= 4;
}
return BufPtr;
}
-static inline std::string utohexstr(uint64_t X) {
+static inline std::string utohexstr(uint64_t X
, bool LowerCase = false
) {
char Buffer[17];
char Buffer[17];
- return utohex_buffer(X, Buffer+17);
+ return utohex_buffer(X, Buffer+17
, LowerCase
);
}
static inline std::string utostr_32(uint32_t X, bool isNeg = false) {
}
static inline std::string utostr_32(uint32_t X, bool isNeg = false) {
@@
-136,7
+141,7
@@
void SplitString(StringRef Source,
// better: http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx
// X*33+c -> X*33^c
static inline unsigned HashString(StringRef Str, unsigned Result = 0) {
// better: http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx
// X*33+c -> X*33^c
static inline unsigned HashString(StringRef Str, unsigned Result = 0) {
- for (
unsigned
i = 0, e = Str.size(); i != e; ++i)
+ for (
StringRef::size_type
i = 0, e = Str.size(); i != e; ++i)
Result = Result * 33 + (unsigned char)Str[i];
return Result;
}
Result = Result * 33 + (unsigned char)Str[i];
return Result;
}