ranges::search_n

ranges::search_n (연속 부분 검색 — ranges)

범위에서 특정 값이 n번 연속으로 나타나는 첫 구간을 찾는 ranges 버전 알고리즘이에요. <algorithm> 헤더에 있어요.

출처: cppreference

본문

std::ranges::search_n[first, last)에서 value와 같은 원소가 count연속으로 나타나는 첫 구간을 찾아요.

namespace std::ranges {
template< std::forward_iterator I, std::sentinel_for<I> S,
          class T, class Pred = ranges::equal_to, class Proj = std::identity >
constexpr subrange<I> search_n( I first, S last, std::iter_difference_t<I> count,
                                const T& value, Pred pred = {}, Proj proj = {} );
}
  • 반환 타입 subrange<I>로, 첫 count번 연속 일치 구간을 나타내요. 없으면 빈 구간.
std::vector<int> v{1, 2, 2, 2, 3, 4};
auto r = std::ranges::search_n(v, 3, 2);
// 세 번 연속된 2의 구간

같은 값이 연속으로 나오는 구간(예: 연속 결석 기록)을 찾을 때 유용해요.

더 알아보기 (Learn more)

cppreference