From 2984df91002fe3e3db0d38f364e9842024a8ab2e Mon Sep 17 00:00:00 2001 From: Marc Chevrier Date: Sun, 15 Aug 2021 15:27:47 +0200 Subject: Refactor: cmHasPrefix and cmHasSuffix accept now cmProp --- Source/cmStringAlgorithms.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Source/cmStringAlgorithms.h b/Source/cmStringAlgorithms.h index 531678a..20061e9 100644 --- a/Source/cmStringAlgorithms.h +++ b/Source/cmStringAlgorithms.h @@ -291,6 +291,16 @@ inline bool cmHasPrefix(cm::string_view str, cm::string_view prefix) } /** Returns true if string @a str starts with string @a prefix. */ +inline bool cmHasPrefix(cm::string_view str, cmProp prefix) +{ + if (!prefix) { + return false; + } + + return str.compare(0, prefix->size(), prefix) == 0; +} + +/** Returns true if string @a str starts with string @a prefix. */ template inline bool cmHasLiteralPrefix(cm::string_view str, const char (&prefix)[N]) { @@ -311,6 +321,17 @@ inline bool cmHasSuffix(cm::string_view str, cm::string_view suffix) } /** Returns true if string @a str ends with string @a suffix. */ +inline bool cmHasSuffix(cm::string_view str, cmProp suffix) +{ + if (!suffix) { + return false; + } + + return str.size() >= suffix->size() && + str.compare(str.size() - suffix->size(), suffix->size(), suffix) == 0; +} + +/** Returns true if string @a str ends with string @a suffix. */ template inline bool cmHasLiteralSuffix(cm::string_view str, const char (&suffix)[N]) { -- cgit v0.12