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

FreeBSD Manual Pages

  
 
  

home | help
std::default_searcher(3)      C++ Standard Libary     std::default_searcher(3)

NAME
       std::default_searcher - std::default_searcher

Synopsis
	  Defined in header <functional>
	  template< class ForwardIt, class BinaryPredicate = std::equal_to<> >
       (since C++17)
	  class	default_searcher;

	  A  class suitable for	use with Searcher overload of std::search that
       delegates the
	  search operation to the pre-C++17 standard library's std::search.

	  std::default_searcher	is CopyConstructible and CopyAssignable.

Member functions
       std::default_searcher::default_searcher

	  default_searcher( ForwardIt pat_first,
										 (since
       C++17)
			    ForwardIt				     pat_last,
       (until C++20)

			    BinaryPredicate pred = BinaryPredicate() );
	  constexpr default_searcher( ForwardIt	pat_first,

				      ForwardIt			     pat_last,
       (since C++20)

				      BinaryPredicate pred = BinaryPredicate()
	  );

	  Constructs a std::default_searcher by	storing	copies	of  pat_first,
       pat_last, and
	  pred.

Parameters
	  pat_first,  pat_last - a pair	of iterators designating the string to
       be searched for
	  pred		      -	a callable object used to determine equality

Exceptions
	  Any exceptions thrown	by the copy constructors of BinaryPredicate or
       ForwardIt.

       std::default_searcher::operator()

	  template< class ForwardIt2 >
								      (since
       C++17)
	  std::pair<ForwardIt2,	 ForwardIt2>				(until
       C++20)

	      operator()( ForwardIt2 first, ForwardIt2 last ) const;
	  template< class ForwardIt2 >

	  constexpr  std::pair<ForwardIt2,  ForwardIt2>			(since
       C++20)

	      operator()( ForwardIt2 first, ForwardIt2 last ) const;

	  The member function called by	the Searcher overload  of  std::search
       to perform a
	  search with this searcher.

	  Returns  a  pair  of	iterators  i, j, where i is std::search(first,
       last, pat_first,
	  pat_last,  pred)  and	 j  is	std::next(i,  std::distance(pat_first,
       pat_last)) unless
	  std::search returned last (no	match),	in which case j	equals last as
       well.

Parameters
	  first, last -	a pair of iterators designating	the string to be exam-
       ined

Return value
	  A  pair  of  iterators  to  the first	and one	past last positions in
       [first, last) where
	  a subsequence	that compares equal to [pat_first,  pat_last)  as  de-
       fined by	pred is
	  located, or a	pair of	copies of last otherwise.

Example
       // Run this code

	#include <algorithm>
	#include <functional>
	#include <iomanip>
	#include <iostream>
	#include <string_view>

	int main()
	{
	    constexpr std::string_view in =
		"Lorem	ipsum dolor sit	amet, consectetur adipiscing elit, sed
       "
		"do eiusmod tempor incididunt ut labore	et dolore  magna  ali-
       qua";

	    const std::string_view needle{"pisci"};

	    auto it = std::search(in.begin(), in.end(),
			  std::default_searcher(
			      needle.begin(), needle.end()));
	    if (it != in.end())
		std::cout  <<  "The string " <<	std::quoted(needle) << " found
       at offset "
			  << it	- in.begin() <<	'\n';
	    else
		std::cout << "The string " <<  std::quoted(needle)  <<	"  not
       found\n";
	}

Output:
	The string "pisci" found at offset 43

See also
	  search			searches for a range of	elements
					(function template)
	  boyer_moore_searcher		Boyer-Moore search algorithm implemen-
       tation
	  (C++17)			(class template)
	  boyer_moore_horspool_searcher	 Boyer-Moore-Horspool search algorithm
       implementation
	  (C++17)			(class template)

http://cppreference.com		  2024.06.10	      std::default_searcher(3)

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

home | help