StringRefize.

llvm-svn: 112718
This commit is contained in:
Benjamin Kramer 2010-09-01 17:28:48 +00:00
parent 57879faf91
commit 2bd4cee516
1 changed files with 5 additions and 6 deletions

View File

@ -171,13 +171,12 @@ public:
: Begin(Begin), End(End), C(Begin), P(Begin), PEnd(NULL) { }
// Return true if string literal is next.
bool Next(const std::string &S) {
std::string::size_type LEN = S.length();
bool Next(llvm::StringRef S) {
P = C;
PEnd = C + LEN;
PEnd = C + S.size();
if (PEnd > End)
return false;
return !memcmp(P, S.c_str(), LEN);
return !memcmp(P, S.data(), S.size());
}
// Return true if number is next.
@ -198,9 +197,9 @@ public:
// Return true if string literal is found.
// When true, P marks begin-position of S in content.
bool Search(const std::string &S) {
bool Search(llvm::StringRef S) {
P = std::search(C, End, S.begin(), S.end());
PEnd = P + S.length();
PEnd = P + S.size();
return P != End;
}