diff options
author | Jonathan Hseu <jhseu@google.com> | 2016-09-21 16:43:43 -0800 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2016-09-21 17:47:27 -0700 |
commit | 5fbe4c190f3b79b1caa90d49cc55bbaafea09f81 (patch) | |
tree | 988c0cb22f5996bf887a932a8da3ca56c9de5da9 /tensorflow/core/lib/strings/scanner.h | |
parent | 60d6ac4bce9acbf79e81a27723fec1e76d5ef56b (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.h | 10 |
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; |