boyer_moore_searcher 클래스
클래스는 boyer_moore_searcher
Boyer-Moore 알고리즘을 사용하여 개체의 생성자에 지정된 시퀀스를 검색하는 함수 개체 형식입니다. 검색은 개체의 함수 호출 연산자에 제공된 다른 시퀀스 내에서 수행됩니다. 이 클래스는 std::search의 오버로드 중 하나에 매개 변수로 전달됩니다.
구문
template <
class RandomAccessIterator1,
class Hash = hash<typename iterator_traits<RandomAccessIterator1>::value_type>,
class BinaryPredicate = equal_to<>>
class boyer_moore_searcher
{
boyer_moore_searcher(
RandomAccessIterator1 pat_first,
RandomAccessIterator1 pat_last,
Hash hf = Hash(),
BinaryPredicate pred = BinaryPredicate());
template <class RandomAccessIterator2>
pair<RandomAccessIterator2, RandomAccessIterator2> operator()(
RandomAccessIterator2 first,
RandomAccessIterator2 last) const;
};
멤버
멤버 | 설명 |
---|---|
Constructor | |
boyer_moore_searcher | 검색자 인스턴스를 생성합니다. |
연산자 | |
operator() | 시퀀스에 대한 작업을 호출합니다. |
boyer_moore_searcher 생성자
boyer_moore_searcher
검색할 시퀀스, 해시 함수 개체 및 같음 조건자를 사용하여 함수 개체를 생성합니다.
boyer_moore_searcher(
RandomAccessIterator pat_first,
RandomAccessIterator pat_last,
Hash hf = Hash(),
BinaryPredicate pred = BinaryPredicate());
매개 변수
pat_first
검색할 시퀀스의 초기 요소입니다.
pat_last
검색할 시퀀스의 끝입니다.
hf
시퀀스 요소를 해시하는 데 사용되는 호출 가능한 개체입니다.
pred
시퀀스 요소에 대한 선택적 같음 비교 조건자입니다. 같음 비교 형식을 지정하지 않으면 기본값은 .입니다 std::equal_to
.
설명
BinaryPredicate, Hash 또는 RandomAccessIterator 형식의 복사 생성자 또는 BinaryPredicate 또는 해시의 호출 연산자에서 throw되는 예외를 throw합니다.
이 클래스는 C++17의 새로운 클래스입니다.
operator()
함수 개체의 호출 연산자입니다. 인수 시퀀스 [first, last)
내에서 생성자에 지정된 시퀀스를 검색합니다.
template <class ForwardIterator2>
pair<RandomAccessIterator2, RandomAccessIterator2> operator()(
RandomAccessIterator2 first,
RandomAccessIterator2 last) const;
매개 변수
first
검색할 시퀀스의 초기 요소입니다.
last
검색할 시퀀스의 끝입니다.
설명
검색 패턴 [pat_first, pat_last)
이 비어 있으면 .를 반환합니다 make_pair(first, first)
. 검색 패턴을 찾을 수 없으면 .make_pair(last, last)
그렇지 않으면 사전 조건자에 따라 시 [pat_first, pat_last)
퀀스의 [first, last)
시작과 끝에 반복기 쌍을 반환합니다.
이 클래스는 C++17의 새로운 클래스입니다.
참고 항목
<functional>
algorithm 함수
boyer_moore_horspool_searcher 클래스
std::search