aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-09-20 00:38:28 +0000
committerChris Lattner <sabre@nondot.org>2009-09-20 00:38:28 +0000
commit2f3b90b1b3b99b963b60b9ed53a67e09c202260f (patch)
tree2a659c047220d7a148a9dd42ec00d63e8650aec8
parent13c4b63b5151f9f9c434341c2ea43f4f34c2243b (diff)
downloadexternal_llvm-2f3b90b1b3b99b963b60b9ed53a67e09c202260f.zip
external_llvm-2f3b90b1b3b99b963b60b9ed53a67e09c202260f.tar.gz
external_llvm-2f3b90b1b3b99b963b60b9ed53a67e09c202260f.tar.bz2
add size_t and a version of rfind that allows specification of where
to scan from. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82343 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/ADT/StringRef.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/llvm/ADT/StringRef.h b/include/llvm/ADT/StringRef.h
index 01f5d7b..f72a22d 100644
--- a/include/llvm/ADT/StringRef.h
+++ b/include/llvm/ADT/StringRef.h
@@ -28,7 +28,8 @@ namespace llvm {
public:
typedef const char *iterator;
static const size_t npos = ~size_t(0);
-
+ typedef size_t size_type;
+
private:
/// The start of the string, in an external buffer.
const char *Data;
@@ -176,14 +177,19 @@ namespace llvm {
///
/// \return - The index of the last occurence of \arg C, or npos if not
/// found.
- size_t rfind(char C) const {
- for (size_t i = Length, e = 0; i != e;) {
+ size_t rfind(char C, size_t From) const {
+ for (size_t i = From, e = 0; i != e;) {
--i;
if (Data[i] == C)
return i;
}
return npos;
}
+
+ size_t rfind(char C) const {
+ return rfind(C, Length);
+ }
+
/// rfind - Search for the last string \arg Str in the string.
///