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