src: Don't allow const char * in starts_with
This commit is contained in:
parent
2bca6360b6
commit
f74d7ea119
|
@ -192,12 +192,8 @@ bool starts_with(InputIterator1 first1, InputIterator1 last1,
|
||||||
return std::equal(first2, last2, first1);
|
return std::equal(first2, last2, first1);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool starts_with(const std::string &a, const std::string &b) {
|
template <typename S, typename T> bool starts_with(const S &a, const T &b) {
|
||||||
return starts_with(std::begin(a), std::end(a), std::begin(b), std::end(b));
|
return starts_with(a.begin(), a.end(), b.begin(), b.end());
|
||||||
}
|
|
||||||
|
|
||||||
inline bool starts_with(const StringRef &a, const StringRef &b) {
|
|
||||||
return starts_with(std::begin(a), std::end(a), std::begin(b), std::end(b));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct CaseCmp {
|
struct CaseCmp {
|
||||||
|
|
|
@ -379,10 +379,13 @@ void test_util_format_duration(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_util_starts_with(void) {
|
void test_util_starts_with(void) {
|
||||||
CU_ASSERT(util::starts_with("foo", "foo"));
|
CU_ASSERT(util::starts_with(StringRef::from_lit("foo"),
|
||||||
CU_ASSERT(util::starts_with("fooo", "foo"));
|
StringRef::from_lit("foo")));
|
||||||
CU_ASSERT(util::starts_with("ofoo", ""));
|
CU_ASSERT(util::starts_with(StringRef::from_lit("fooo"),
|
||||||
CU_ASSERT(!util::starts_with("ofoo", "foo"));
|
StringRef::from_lit("foo")));
|
||||||
|
CU_ASSERT(util::starts_with(StringRef::from_lit("ofoo"), StringRef{}));
|
||||||
|
CU_ASSERT(!util::starts_with(StringRef::from_lit("ofoo"),
|
||||||
|
StringRef::from_lit("foo")));
|
||||||
|
|
||||||
CU_ASSERT(util::istarts_with(StringRef::from_lit("FOO"),
|
CU_ASSERT(util::istarts_with(StringRef::from_lit("FOO"),
|
||||||
StringRef::from_lit("fOO")));
|
StringRef::from_lit("fOO")));
|
||||||
|
|
Loading…
Reference in New Issue