Refactor: cmHasPrefix and cmHasSuffix accept now cmProp

This commit is contained in:
Marc Chevrier
2021-08-15 15:27:47 +02:00
parent 5917b6277f
commit 2984df9100

View File

@@ -290,6 +290,16 @@ inline bool cmHasPrefix(cm::string_view str, cm::string_view prefix)
return str.compare(0, prefix.size(), prefix) == 0;
}
/** 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 <size_t N>
inline bool cmHasLiteralPrefix(cm::string_view str, const char (&prefix)[N])
@@ -310,6 +320,17 @@ inline bool cmHasSuffix(cm::string_view str, cm::string_view suffix)
str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0;
}
/** 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 <size_t N>
inline bool cmHasLiteralSuffix(cm::string_view str, const char (&suffix)[N])