The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

search_n (3)
  • >> search_n (3) ( Solaris man: Библиотечные вызовы )
  • 
                           Standard C++ Library
                 Copyright 1998, Rogue Wave Software, Inc.
    
    
    NAME
         search, search_n
    
          - Finds a sub-sequence within a sequence of values that  is
         element-wise equal to the values in an indicated range.
    
    
    
    SYNOPSIS
         #include <algorithm>
         template <class ForwardIterator1, class ForwardIterator2>
         ForwardIterator1 search (ForwardIterator1 first1,
                                  ForwardIterator1 last1,
                                  ForwardIterator2 first2,
                                  ForwardIterator2 last2);
    
         template <class ForwardIterator1,
                  class ForwardIterator2,
                  class BinaryPredicate>
         ForwardIterator1 search (ForwardIterator1 first1,
                                  ForwardIterator1 last1,
                                  ForwardIterator2 first2,
                                  ForwardIterator2 last2,
                                  BinaryPredicate binary_pred);
    
         template <class ForwardIterator,
                  class Size,
                  class T>
         ForwardIterator search_n (ForwardIterator first,
                                  ForwardIterator last,
                                  Size count, const T& value);
    
         template <class ForwardIterator,
                  class Size,
                  class T,
                  class BinaryPredicate>
         ForwardIterator search_n (ForwardIterator first,
                                  ForwardIterator last,
                                  Size count, const T& value,
                                  BinaryPredicate pred)
    
    
    
    DESCRIPTION
         The search and search_n algorithms search for a sub-sequence
         within  a sequence. The search algorithm searches for a sub-
         sequence [first2, last2) within a sequence [first1,  last1),
         and returns the beginning location of the sub-sequence.   If
         it does not find the sub-sequence, search returns last1. The
         first version of search uses the equality (==) operator as a
         default, and the second version  allows  you  to  specify  a
         binary predicate to perform the comparison.
    
         The search_n_algorithm searches for  the  sub-sequence  com-
         posed  of  count  occurrences  of  value  within  a sequence
         [first, last), and returns first  if  this  sub-sequence  is
         found.    If    it   does   not   find   the   sub-sequence,
         search_n_returns last. The first version  of  search_n  uses
         the equality (==) operator as a default, and the second ver-
         sion allows you to specify a binary predicate to perform the
         comparison.
    
    
    
    COMPLEXITY
         search performs  at  most  (last1  -  first1)*(last2-first2)
         applications of the corresponding predicate.
    
         search_n performs at most (last - first)* count applications
         of the corresponding predicate.
    
    
    
    EXAMPLE
         //
         // search.cpp
         //
          #include <algorithm>
          #include <list>
          #include <iostream>
         using namespace std;
    
         int main()
          {
            // Initialize a list sequence and
            // sub-sequence with characters
           char seq[40] = "Here's a string with a substring in it";
           char subseq[10] = "substring";
           list<char> sequence(seq, seq+39);
           list<char> subseqnc(subseq, subseq+9);
    
            //Print out the original sequence
           cout << endl << "The sub-sequence, " << subseq
                 << ", was found at the ";
           cout << endl << "location identified by a '*'"
                 << endl << "     ";
    
            // Create an iterator to identify the location of
            // sub-sequence within sequence
           list<char>::iterator place;
    
            //Do search
           place = search(sequence.begin(), sequence.end(),
                          subseqnc.begin(), subseqnc.end());
    
            //Identify result by marking first character with a '*'
            *place = '*';
    
            //Output sequence to display result
           for(list<char>::iterator i = sequence.begin();
                   i != sequence.end(); i++)
             cout << *i;
           cout << endl;
    
           return 0;
          }
    
         Program Output
    
    
    
         The sub-sequence, substring, was found at the
         location identified by a '*'
             Here's a string with a *substring in it
    
    
    
    WARNINGS
         If your compiler does not support default  template  parame-
         ters,  then you always need to supply the Allocator template
         argument. For instance, you need to write:
    
         list<char, allocator<char> >
    
         instead of:
    
         list<char>
    
         If your compiler does not support namespaces,  then  you  do
         not need the using declaration for std.
    
         <ENDNOTES> </ENDNOTES>
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру