Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::experimental::default_searcher,std::experimental::make_default_searcher

      From cppreference.com
      <cpp‎ |experimental
       
       
       
       
      Defined in header<experimental/functional>
      template<class ForwardIterator1,class BinaryPredicate=std::equal_to<>>
      class default_searcher;
      (library fundamentals TS)

      A class suitable for use withstd::experimental::search that delegates the search operation to the standard library'sstd::search.

      default_searcher isCopyConstructible andCopyAssignable.

      Contents

      [edit]Member functions

      std::experimental::default_searcher::default_searcher

      default_searcher( ForwardIterator pat_first,

                        ForwardIterator pat_last,

                        BinaryPredicate pred= BinaryPredicate());

      Constructs adefault_searcher by storing copies ofpat_first,pat_last, andpred.

      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 ofBinaryPredicate orForwardIterator.

      std::experimental::default_searcher::operator()

      template<class ForwardIterator2>
      ForwardIterator2 operator()( ForwardIterator2 first, ForwardIterator2 last)const;
      (until C++17)
      template<class ForwardIterator2>

      std::pair<ForwardIterator2, ForwardIterator2>

          operator()( ForwardIterator2 first, ForwardIterator2 last)const;
      (since C++17)

      The member function called bystd::experimental::search to perform a search with this searcher.

      Equivalent tostd::search(first, last, pat_first, pat_last, pred);.

      (until C++17)

      Returns a pair of iteratorsi, j, wherei isstd::search(first, last, pat_first, pat_last, pred) andj isstd::next(i,std::distance(pat_first, pat_last)) unlessstd::search returnedlast (no match), in which casej equalslast as well.

      (until C++17)

      Parameters

      first, last - a pair of iterators designating the string to be examined

      Return value

      Iterator to the first position in[firstlast) where a subsequence that compares equal to[pat_firstpat_last) as defined bypred is located, or a copy oflast otherwise.

      (until C++17)

      A pair of iterators to the first and one past last positions in[firstlast) where a subsequence that compares equal to[pat_firstpat_last) as defined bypred is located, or a pair of copies oflast otherwise.

      (since C++17)

      [edit]Helper Functions

      template<class ForwardIterator,class BinaryPredicate=std::equal_to<>>

      default_searcher<ForwardIterator, BinaryPredicate> make_default_searcher(
          ForwardIterator pat_first,
          ForwardIterator pat_last,

          BinaryPredicate pred= BinaryPredicate());
      (library fundamentals TS)

      Helper function that constructs astd::experimental::default_searcher using template argument deduction. Equivalent toreturn default_searcher<ForwardIterator, BinaryPredicate>(pat_first, pat_last, pred);

      [edit]Parameters

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

      [edit]Return value

      Adefault_searcher constructed with the argumentspat_first,pat_last,pred.

      [edit]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_default_searcher(                      needle.begin(), needle.end()));if(it!= in.end())std::cout<<"The string "<< needle<<" found at offset "<< it- in.begin()<<'\n';elsestd::cout<<"The string "<< needle<<" not found\n";}

      Output:

      The string pisci found at offset 43

      [edit]See also

      searches for the first occurrence of a range of elements
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/default_searcher&oldid=154735"

      [8]ページ先頭

      ©2009-2026 Movatter.jp