Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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
       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 implemen-
       tation
					(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 adipisc-
       ing 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)

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::search&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help