From 93423dfd7de7fe0b7f733784516617622578cba6 Mon Sep 17 00:00:00 2001 From: "A. Unique TensorFlower" Date: Sat, 17 Sep 2016 06:05:33 -0800 Subject: Add a str_util::ConsumeSuffix() utility function. Change: 133476675 --- tensorflow/core/lib/strings/str_util.cc | 8 ++++++++ tensorflow/core/lib/strings/str_util.h | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/tensorflow/core/lib/strings/str_util.cc b/tensorflow/core/lib/strings/str_util.cc index 3a1c57f578..c3627d4286 100644 --- a/tensorflow/core/lib/strings/str_util.cc +++ b/tensorflow/core/lib/strings/str_util.cc @@ -279,6 +279,14 @@ bool ConsumePrefix(StringPiece* s, StringPiece expected) { return false; } +bool ConsumeSuffix(StringPiece* s, StringPiece expected) { + if (s->ends_with(expected)) { + s->remove_suffix(expected.size()); + return true; + } + return false; +} + bool ConsumeLeadingDigits(StringPiece* s, uint64* val) { const char* p = s->data(); const char* limit = p + s->size(); diff --git a/tensorflow/core/lib/strings/str_util.h b/tensorflow/core/lib/strings/str_util.h index 9dd1ede8dc..5f42c2cfcd 100644 --- a/tensorflow/core/lib/strings/str_util.h +++ b/tensorflow/core/lib/strings/str_util.h @@ -71,6 +71,10 @@ bool ConsumeNonWhitespace(StringPiece* s, StringPiece* val); // Otherwise, return false. bool ConsumePrefix(StringPiece* s, StringPiece expected); +// If "*s" ends with "expected", remove it and return true. +// Otherwise, return false. +bool ConsumeSuffix(StringPiece* s, StringPiece expected); + // Return lower-cased version of s. string Lowercase(StringPiece s); -- cgit v1.2.3