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;
};
成員
member | 描述 |
---|---|
建構函式 | |
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
要搜尋的序列結尾。
高頻
可呼叫的物件,用來雜湊時序專案。
Pred
序列元素的選擇性相等比較述詞。 如果未指定相等比較類型,則預設值為 std::equal_to
。
備註
擲回 BinaryPredicate、Hash 或 RandomAccessIterator 類型的複製建構 函式所擲回的任何例外狀況,或 BinaryPredicate 或 Hash 的 呼叫運算子。
此類別是 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)
回 。 否則,會根據述詞述 詞 ,將一對反覆運算器傳回序列的 [first, last)
[pat_first, pat_last)
開頭和結尾。
此類別是 C++17 的新功能。
另請參閱
<functional>
algorithm 函式
boyer_moore_horspool_searcher 類別
std::search
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應