Simple cleanup for string comparisons

This commit is contained in:
Jason Turner 2017-09-20 15:34:19 -06:00
parent e38b05ff9a
commit c5a9cab3dd
2 changed files with 13 additions and 1 deletions

View File

@ -241,7 +241,7 @@ namespace chaiscript
bool is_match(const std::size_t t_group, const std::string &t_str) const noexcept { bool is_match(const std::size_t t_group, const std::string &t_str) const noexcept {
auto match = [&t_str](const auto &array) { auto match = [&t_str](const auto &array) {
return std::any_of(array.begin(), array.end(), [&t_str](const auto &v){ return v.c_str() == t_str; }); return std::any_of(array.begin(), array.end(), [&t_str](const auto &v){ return v == t_str; });
}; };
switch (t_group) { switch (t_group) {

View File

@ -28,6 +28,18 @@ namespace chaiscript
return data; return data;
} }
constexpr const char *begin() const noexcept {
return data;
}
constexpr const char *end() const noexcept {
return data + m_size;
}
bool operator==(const std::string &t_str) const noexcept {
return std::equal(begin(), end(), std::cbegin(t_str), std::cend(t_str));
}
const size_t m_size; const size_t m_size;
const char *data = nullptr; const char *data = nullptr;
}; };