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가 접미사 버전이에요.

더 알아보기 (Learn more)

cppreference