aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/lib/strings/scanner.h
diff options
context:
space:
mode:
authorGravatar Jonathan Hseu <jhseu@google.com>2016-09-21 16:43:43 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2016-09-21 17:47:27 -0700
commit5fbe4c190f3b79b1caa90d49cc55bbaafea09f81 (patch)
tree988c0cb22f5996bf887a932a8da3ca56c9de5da9 /tensorflow/core/lib/strings/scanner.h
parent60d6ac4bce9acbf79e81a27723fec1e76d5ef56b (diff)
Implement Scanner::ScanUntil() which doesn't allow escaping.
Change: 133899299
Diffstat (limited to 'tensorflow/core/lib/strings/scanner.h')
-rw-r--r--tensorflow/core/lib/strings/scanner.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/tensorflow/core/lib/strings/scanner.h b/tensorflow/core/lib/strings/scanner.h
index 32c0d6d4a5..8bcf05104c 100644
--- a/tensorflow/core/lib/strings/scanner.h
+++ b/tensorflow/core/lib/strings/scanner.h
@@ -128,10 +128,16 @@ class Scanner {
Scanner& AnySpace() { return Any(SPACE); }
// This scans input until <end_ch> is reached. <end_ch> is NOT consumed.
+ Scanner& ScanUntil(char end_ch) {
+ ScanUntilImpl(end_ch, false);
+ return *this;
+ }
+
+ // This scans input until <end_ch> is reached. <end_ch> is NOT consumed.
// Backslash escape sequences are skipped.
// Used for implementing quoted string scanning.
Scanner& ScanEscapedUntil(char end_ch) {
- ScanEscapedUntilImpl(end_ch);
+ ScanUntilImpl(end_ch, true);
return *this;
}
@@ -154,7 +160,7 @@ class Scanner {
StringPiece* capture = nullptr);
private:
- void ScanEscapedUntilImpl(char end_ch);
+ void ScanUntilImpl(char end_ch, bool escaped);
Scanner& Error() {
error_ = true;