summaryrefslogtreecommitdiffstats
path: root/Source/cmStringAlgorithms.h
diff options
context:
space:
mode:
authorKyle Edwards <kyle.edwards@kitware.com>2020-09-02 18:39:04 (GMT)
committerKyle Edwards <kyle.edwards@kitware.com>2020-09-02 18:39:04 (GMT)
commit2a6471dd7bf3aa694a9a2bc7f554478d6fdcf8f5 (patch)
tree9f9cc0a1bb5cb21ed1cb40a68058f01007f67906 /Source/cmStringAlgorithms.h
parenta9fd3a107dc4bc34b8d2822b9153ee0ab9e02ea8 (diff)
parent68b674b8bc862f943863b48925a5c4d065de8f39 (diff)
downloadCMake-2a6471dd7bf3aa694a9a2bc7f554478d6fdcf8f5.zip
CMake-2a6471dd7bf3aa694a9a2bc7f554478d6fdcf8f5.tar.gz
CMake-2a6471dd7bf3aa694a9a2bc7f554478d6fdcf8f5.tar.bz2
Merge branch 'master' into ninja-multi-automoc-regression
Diffstat (limited to 'Source/cmStringAlgorithms.h')
-rw-r--r--Source/cmStringAlgorithms.h32
1 files changed, 24 insertions, 8 deletions
diff --git a/Source/cmStringAlgorithms.h b/Source/cmStringAlgorithms.h
index a5ecca7..4b0090b 100644
--- a/Source/cmStringAlgorithms.h
+++ b/Source/cmStringAlgorithms.h
@@ -20,6 +20,20 @@
/** String range type. */
using cmStringRange = cmRange<std::vector<std::string>::const_iterator>;
+/** Check for non-empty string. */
+inline bool cmNonempty(const char* str)
+{
+ return str && *str;
+}
+inline bool cmNonempty(cm::string_view str)
+{
+ return !str.empty();
+}
+inline bool cmNonempty(std::string const* str)
+{
+ return str && !str->empty();
+}
+
/** Callable string comparison struct. */
struct cmStrCmp
{
@@ -205,10 +219,11 @@ bool cmIsNOTFOUND(cm::string_view val);
bool cmIsOn(cm::string_view val);
inline bool cmIsOn(const char* val)
{
- if (!val) {
- return false;
- }
- return cmIsOn(cm::string_view(val));
+ return val && cmIsOn(cm::string_view(val));
+}
+inline bool cmIsOn(std::string const* val)
+{
+ return val && cmIsOn(*val);
}
/**
@@ -221,10 +236,11 @@ inline bool cmIsOn(const char* val)
bool cmIsOff(cm::string_view val);
inline bool cmIsOff(const char* val)
{
- if (!val) {
- return true;
- }
- return cmIsOff(cm::string_view(val));
+ return !val || cmIsOff(cm::string_view(val));
+}
+inline bool cmIsOff(std::string const* val)
+{
+ return !val || cmIsOff(*val);
}
/** Returns true if string @a str starts with the character @a prefix. */