stringapi: Accept strings in cmStrCmp

This commit is contained in:
Ben Boeckel 2014-01-17 13:38:27 -05:00 committed by Brad King
parent 3742bb0d32
commit 381d50c149
3 changed files with 11 additions and 6 deletions

View File

@ -660,7 +660,7 @@ void cmQtAutoGenerators::MergeUicOptions(std::vector<std::string> &opts,
++o;
}
if (std::find_if(cmArrayBegin(valueOptions), cmArrayEnd(valueOptions),
cmStrCmp(o)) != cmArrayEnd(valueOptions))
cmStrCmp(*it)) != cmArrayEnd(valueOptions))
{
assert(existingIt + 1 != opts.end());
*(existingIt + 1) = *(it + 1);
@ -831,7 +831,7 @@ void cmQtAutoGenerators::MergeRccOptions(std::vector<std::string> &opts,
++o;
}
if (std::find_if(cmArrayBegin(valueOptions), cmArrayEnd(valueOptions),
cmStrCmp(o)) != cmArrayEnd(valueOptions))
cmStrCmp(*it)) != cmArrayEnd(valueOptions))
{
assert(existingIt + 1 != opts.end());
*(existingIt + 1) = *(it + 1);

View File

@ -449,11 +449,16 @@ bool cmHasLiteralSuffix(T str1, const char (&str2)[N])
struct cmStrCmp {
cmStrCmp(const char *test) : m_test(test) {}
cmStrCmp(std::string &test) : m_test(test.c_str()) {}
cmStrCmp(const std::string &test) : m_test(test) {}
bool operator()(const std::string& input) const
{
return m_test == input;
}
bool operator()(const char * input) const
{
return strcmp(input, m_test) == 0;
return strcmp(input, m_test.c_str()) == 0;
}
// For use with binary_search
@ -463,7 +468,7 @@ struct cmStrCmp {
}
private:
const char * const m_test;
const cmStdString m_test;
};
#endif

View File

@ -1314,7 +1314,7 @@ static bool whiteListedInterfaceProperty(const std::string& prop)
if (std::binary_search(cmArrayBegin(builtIns),
cmArrayEnd(builtIns),
prop.c_str(),
cmStrCmp(prop.c_str())))
cmStrCmp(prop)))
{
return true;
}