std::experimental:: boyer_moore_horspool_searcher, std::experimental:: make_boyer_moore_horspool_searcher
|
Определено в заголовочном файле
<experimental/functional>
|
||
|
template
<
class
RandomIt1,
class
Hash
=
std::
hash
<
typename
std::
iterator_traits
<
RandomIt1
>
::
value_type
>
,
|
(library fundamentals TS) | |
Поисковик, подходящий для использования с std::experimental::search , который реализует алгоритм поиска строк Бойера-Мура-Хорспула .
boyer_moore_horspool_searcher
является
CopyConstructible
и
CopyAssignable
.
RandomIt1
должен удовлетворять требованиям
LegacyRandomAccessIterator
.
Содержание
Функции-членыstd::experimental::boyer_moore_horspool_searcher::boyer_moore_horspool_searcher
Создает Тип значения Для любых двух значений Параметры
ИсключенияЛюбые исключения, выбрасываемые
Также может выбрасывать std::bad_alloc, если дополнительная память, требуемая для внутренних структур данных, не может быть выделена. std::experimental::boyer_moore_horspool_searcher::operator()
Эта функция-член вызывается std::experimental::search для выполнения поиска с помощью данного искателя.
Параметры
Возвращаемое значение
Вспомогательные функции
Вспомогательная функция, которая конструирует Параметры
Возвращаемое значение
Объект
Пример
Запустить этот код
#include <experimental/algorithm> #include <experimental/functional> #include <iostream> #include <string> int main() { std::string in = "Lorem ipsum dolor sit amet, consectetur adipiscing elit," " sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"; std::string needle = "pisci"; auto it = std::experimental::search(in.begin(), in.end(), std::experimental::make_boyer_moore_horspool_searcher( needle.begin(), needle.end())); if (it != in.end()) std::cout << "The string " << needle << " found at offset " << it - in.begin() << '\n'; else std::cout << "The string " << needle << " not found\n"; } Вывод: The string pisci found at offset 43 См. также
|