The OpenNET Project / Index page

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

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

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

adjacent_find (3)
  • >> adjacent_find (3) ( Solaris man: Библиотечные вызовы )
  • 
                           Standard C++ Library
                 Copyright 1998, Rogue Wave Software, Inc.
    
    
    NAME
         adjacent_find
    
          - Find the first adjacent pair of elements  in  a  sequence
         that are equivalent.
    
    
    
    SYNOPSIS
         #include <algorithm>
         template <class ForwardIterator>
          ForwardIterator
          adjacent_find(ForwardIterator first,
                        ForwardIterator last);
    
         template <class ForwardIterator, class BinaryPredicate>
         ForwardIterator
          adjacent_find(ForwardIterator first, ForwardIterator last,
                        BinaryPredicate pred);
    
    
    
    DESCRIPTION
         There are two versions of the adjacent_find  algorithm.  The
         first  finds equal adjacent elements in the sequence defined
         by iterators first and last and returns an iterator i point-
         ing  to  the first of the equal elements. The second version
         lets you specify your own binary function to test for a con-
         dition.  It  returns  an iterator i pointing to the first of
         the pair of elements that meet the conditions of the  binary
         function.  In  other  words, adjacent_find returns the first
         iterator i such that both i and i  +  1  are  in  the  range
         [first,  last)  for  which  one  of the following conditions
         holds:
    
         *i == *(i + 1)
    
         or
    
         pred(*i,*(i + 1)) == true
    
         If adjacent_find does not find a match, it returns last.
    
    
    
    COMPLEXITY
         adjacent_find  performs  exactly  find(first,last,value)   -
         first applications of the corresponding predicate.
    
    
    
    EXAMPLE
         //
         // find.cpp
         //
         #include <vector>
         #include <algorithm>
         #include <iostream>
         using namespace std;
    
         int main()
          {
           typedef vector<int>::iterator iterator;
           int d1[10] = {0,1,2,2,3,4,2,2,6,7};
    
            // Set up a vector
           vector<int> v1(d1,d1 + 10);
    
            // Try find
           iterator it1 = find(v1.begin(),v1.end(),3);
    
            // Try find_if
           iterator it2 =
            find_if(v1.begin(),v1.end(),bind1st(equal_to<int>(),3));
    
            // Try both adjacent_find variants
           iterator it3 = adjacent_find(v1.begin(),v1.end());
    
           iterator it4 =
              adjacent_find(v1.begin(),v1.end(),equal_to<int>());
    
            // Output results
           cout << *it1 << " " << *it2 << " " << *it3 << " "
                 << *it4 << endl;
    
           return 0;
          }
    
         Program Output :
    
    
    
         3 3 2 2
    
    
    WARNINGS
         If your compiler does not support default  template  parame-
         ters,  then you always need to supply the Allocator template
         argument. For instance, you have to write:
    
         vector<int,allocator<int> >
    
         instead of:
    
         vector<int>
    
         If your compiler does not support namespaces,  then  you  do
         not need the using declaration for std.
    
    
    
    SEE ALSO
         find
    
    
    
    


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




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

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