From 2cdc7b8e761161b54eb4725616003b788f7887ab Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 20 Sep 2009 00:38:28 +0000 Subject: [PATCH] add size_t and a version of rfind that allows specification of where to scan from. llvm-svn: 82343 --- include/llvm/ADT/StringRef.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/include/llvm/ADT/StringRef.h b/include/llvm/ADT/StringRef.h index 01f5d7bef0f..f72a22d70cb 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. ///