diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2020-09-02 18:39:04 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2020-09-02 18:39:04 (GMT) |
commit | 2a6471dd7bf3aa694a9a2bc7f554478d6fdcf8f5 (patch) | |
tree | 9f9cc0a1bb5cb21ed1cb40a68058f01007f67906 /Source/cmStringAlgorithms.h | |
parent | a9fd3a107dc4bc34b8d2822b9153ee0ab9e02ea8 (diff) | |
parent | 68b674b8bc862f943863b48925a5c4d065de8f39 (diff) | |
download | CMake-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.h | 32 |
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. */ |