ranges::starts_with
ranges::starts_with (접두사 검사 — ranges)
한 범위가 다른 범위로 시작하는지 검사하는 ranges 버전 알고리즘이에요. <algorithm> 헤더, C++23부터.
출처: cppreference
본문
std::ranges::starts_with는 첫 범위가 두 번째 범위로 시작하는지 확인해요.
namespace std::ranges {
template< std::input_iterator I1, std::sentinel_for<I1> S1,
std::input_iterator I2, std::sentinel_for<I2> S2,
class Pred = ranges::equal_to, class Proj1 = std::identity,
class Proj2 = std::identity >
constexpr bool starts_with( I1 first1, S1 last1, I2 first2, S2 last2,
Pred pred = {}, Proj1 proj1 = {}, Proj2 proj2 = {} );
}
[first2, last2)가[first1, last1)의 접두사이면true.proj1/proj2로 다르게 투영해 비교할 수도 있어요.
std::string s = "hello world";
bool st = std::ranges::starts_with(s, "hello"); // true
문자열/시퀀스 접두 매칭에 유용해요. ranges::ends_with가 접미사 버전이에요.