home | help
std::experimental::search(3)   C++ Standard Libary  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 fun-
     damentals 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  im-
     plementation
				      (class template)
	boyer_moore_searcher	       Boyer-Moore  search algorithm implementa-
     tion
				      (class template)
	boyer_moore_horspool_searcher Boyer-Moore-Horspool search algorithm  im-
     plementation
				      (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 <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_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)

Categories:
	  * Noindexed pages
	  * Todo without reason

http://cppreference.com 	   2024.06.10	    std::experimental::search(3)

home | help