The OpenNET Project / Index page

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

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

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

count_if (3)
  • >> count_if (3) ( Solaris man: Библиотечные вызовы )
  • 
                           Standard C++ Library
                 Copyright 1998, Rogue Wave Software, Inc.
    
    
    NAME
         count, count_if
    
          - Count the number of elements in a container that  satisfy
         a given condition.
    
    
    
    SYNOPSIS
         #include <algorithm>
         template<class InputIterator, class T>
         typename iterator_traits<InputIterator>::difference_type
         count(InputIterator first, InputIterator last,
               const T& value);
         template <class InputIterator, class T, class Size>
         void count(InputIterator first, InputIterator last,
                    const T& value, Size& n);
         template<class InputIterator, class Predicate>
         typename iterator_traits<InputIterator>::difference_type
         count_if(InputIterator first, InputIterator last,
                  Predicate pred);
         template <class InputIterator, class Predicate, class Size>
         void count_if(InputIterator first, InputIterator last,
                       Predicate pred, Size& n);
    
    
    
    DESCRIPTION
         The count  algorithm  compares  value  to  elements  in  the
         sequence defined by iterators first and last. The first ver-
         sion of count returns the number of matches. The second ver-
         sion  increments  a  counting  value  n each time it finds a
         match. In other words, count returns  (or  adds  to  n)  the
         number  of  iterators i in the range [first, last) for which
         the following condition holds:
    
         *i == value
    
         Type T must be EqualityComparable.
    
    
    
    COMPLEXITY
         The count_if algorithm lets you  specify  a  predicate,  and
         returns  the  number  of  times  an  element in the sequence
         satisfies the predicate (or  increments  n  that  number  of
         times).  That is, count_if returns (or adds to n) the number
         of iterators i in the range [first, last) for which the fol-
         lowing condition holds:
    
         pred(*i) == true.
    
         Both count and count_if perform exactly last-first  applica-
         tions of the corresponding predicate.
    
    
    
    EXAMPLE
         //
         // count.cpp
         //
         // Does not demonstrate the partial specialization versions
         // of count and count_if
         //
          #include <vector>
          #include <algorithm>
          #include <iostream>
         using namespace std;
    
         int main()
          {
           int sequence[10] = {1,2,3,4,5,5,7,8,9,10};
           int i=0,j=0,k=0;
            //
            // Set up a vector
            //
           vector<int> v(sequence,sequence + 10);
    
           count(v.begin(),v.end(),5,i);  // Count fives
           count(v.begin(),v.end(),6,j);  // Count sixes
            //
            // Count all less than 8
            // I=2, j=0
            //
           count_if(v.begin(),v.end(),bind2nd(less<int>(),8),k);
            // k = 7
    
           cout << i << " " << j << " " << k << endl;
           return 0;
          }
    
         Program Output
    
    
    
         2 0 7
    
    
    
    WARNINGS
         If your compiler does not  support  partial  specialization,
         then  the  first version of both count and count_if (the one
         that returns the count) is not available.
    
         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.
    
    
    
    


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




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

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