std::experimental::search(3)

NAME
std::experimental::search - std::experimental::search

Synopsis
   Defined in header <experimental/algorithm>
   template<class ForwardIterator, class Searcher>
   ForwardIterator search( ForwardIterator first, (library fundamentals TS)
   ForwardIterator last,
   const Searcher& searcher );
   Searches the sequence [first, last) for the pattern specified in the constructor of
   searcher.
   Effectively executes searcher(first, last). (until C++17)
   Effectively executes searcher(first, last).first. (since C++17)
   Searcher need not be CopyConstructible.
   The standard library provides the following searchers:
   default_searcher standard C++ library search algorithm implementation
                        (class template)
   boyer_moore_searcher Boyer-Moore search algorithm implementation
                        (class template)
   boyer_moore_horspool_searcher Boyer-Moore-Horspool search algorithm implementation
                        (class template)

Parameters
    This section is incomplete

Return value
   Returns the result of searcher.operator(), that is, an iterator to the location at
   which the substring is found or a copy of last if it was not found.

Complexity
   Depends on the searcher

Example
// Run this code
 #include <iostream>
 #include <string>
 #include <experimental/algorithm>
 #include <experimental/functional>
 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_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";
 }

Output:
 The string pisci found at offset 43

See also
   search searches for a range of elements
          (function template)