18 #ifndef CUPT_STRINGRANGE_SEEN
19 #define CUPT_STRINGRANGE_SEEN
21 #include <cupt/range.hpp>
28 struct StringRange:
public Range<const char*>
31 typedef Iterator iterator;
32 typedef Iterator const_iterator;
34 typedef Range<const char*> Base;
39 StringRange(
const std::string& s)
40 : Base(&*s.begin(), &*s.end())
43 StringRange(Iterator a, Iterator b)
47 std::string toStdString()
const
49 return std::string(begin(), end());
52 Iterator find(
char c)
const
54 return std::find(begin(), end(), c);
59 return end() - begin();
62 bool equal(StringRange other)
const
64 return size() == other.size() &&
65 std::equal(begin(), end(), other.begin());