mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-26 13:10:34 +00:00
ADT/StringRef: Add ::lower() and ::upper() methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143880 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cc4bcba0b9
commit
589fbb1770
@ -326,6 +326,16 @@ namespace llvm {
|
|||||||
/// string is well-formed in the given radix.
|
/// string is well-formed in the given radix.
|
||||||
bool getAsInteger(unsigned Radix, APInt &Result) const;
|
bool getAsInteger(unsigned Radix, APInt &Result) const;
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
/// @name String Operations
|
||||||
|
/// @{
|
||||||
|
|
||||||
|
// lower - Convert the given ASCII string to lowercase.
|
||||||
|
std::string lower() const;
|
||||||
|
|
||||||
|
/// upper - Convert the given ASCII string to uppercase.
|
||||||
|
std::string upper() const;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
/// @name Substring Operations
|
/// @name Substring Operations
|
||||||
/// @{
|
/// @{
|
||||||
|
@ -25,6 +25,12 @@ static char ascii_tolower(char x) {
|
|||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char ascii_toupper(char x) {
|
||||||
|
if (x >= 'a' && x <= 'z')
|
||||||
|
return x - 'a' + 'A';
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
static bool ascii_isdigit(char x) {
|
static bool ascii_isdigit(char x) {
|
||||||
return x >= '0' && x <= '9';
|
return x >= '0' && x <= '9';
|
||||||
}
|
}
|
||||||
@ -131,6 +137,26 @@ unsigned StringRef::edit_distance(llvm::StringRef Other,
|
|||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
// String Operations
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
std::string StringRef::lower() const {
|
||||||
|
std::string Result(size(), char());
|
||||||
|
for (size_type i = 0, e = size(); i != e; ++i) {
|
||||||
|
Result[i] = ascii_tolower(Data[i]);
|
||||||
|
}
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string StringRef::upper() const {
|
||||||
|
std::string Result(size(), char());
|
||||||
|
for (size_type i = 0, e = size(); i != e; ++i) {
|
||||||
|
Result[i] = ascii_tolower(Data[i]);
|
||||||
|
}
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// String Searching
|
// String Searching
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
Loading…
Reference in New Issue
Block a user