다음을 통해 공유


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