View difference between Paste ID: wCPBVbuQ and fMsYwEhQ
SHOW: | | - or go back to the newest paste.
1-
bool cmp(const string lhs, const string rhs) {
1+
bool cmp(const string& lhs, const string& rhs) {
2
	string l = lhs;
3
	string r = rhs;
4
	int l_size = l.size();
5
	int r_size = r.size();
6
7
	if (l_size < r_size) {
8
		r.resize(l_size);
9
	} else if (r_size < l_size) {
10
		l.resize(r_size);
11
	}
12
13
	return l < r;
14
}
15
16
template <typename RandomIt>
17
pair<RandomIt, RandomIt> FindStartsWith(
18
    RandomIt range_begin, RandomIt range_end,
19
    const string prefix) {
20
21
	auto r = equal_range(range_begin, range_end, prefix, cmp);
22
23
	return r;
24
}