United States    
COMPAQ STORE | PRODUCTS | SERVICES | SUPPORT
| CONTACT US | SEARCH
C++
find (3C++std) - Tru64 UNIX
Standard C++ Library
Copyright 1996, Rogue Wave Software, Inc.

NAME

  find  - Find an occurrence of value in a sequence

SYNOPSIS

  #include <algorithm>

  template <class InputIterator, class T>
   InputIterator find(InputIterator first, InputIterator last,
                      const T& value);

DESCRIPTION

  The find algorithm lets you search for the first occurrence of a particular
  value in a sequence.  find returns the first iterator i in the range
  [first, last) for which the following condition holds:

  *i == value.

  If find does not find a match for value, it returns the iterator last.

COMPLEXITY

  find performs at most last-first comparisons.

EXAMPLE

  //
  // find.cpp
  //
   #include <vector>
   #include <algorithm>

  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);
     // it1 = v1.begin() + 4;

     // Try find_if
    iterator it2 =
       find_if(v1.begin(),v1.end(),bind1st(equal_to<int>(),3));
     // it2 = v1.begin() + 4

     // Try both adjacent_find variants
    iterator it3 = adjacent_find(v1.begin(),v1.end());
     // it3 = v1.begin() +2

    iterator it4 =
       adjacent_find(v1.begin(),v1.end(),equal_to<int>());
     // v4 = v1.begin() + 2

     // Output results
    cout << *it1 << " " << *it2 << " " << *it3 << " "
          << *it4 << endl;

    return 0;
   }

  Output : 3 3 2 2

WARNING

  If your compiler does not support default template parameters then you need
  to always supply the Allocator template argument.  For instance you'll have
  to write:

  vector<int,allocator<int> >

  instead of:

  vector<int>

SEE ALSO

  adjacent_find, find_first_of, find_if

STANDARDS CONFORMANCE

  ANSI X3J16/ISO WG21 Joint C++ Committee
  

1.800.AT.COMPAQ

privacy and legal statement