This documentation is archived and is not being maintained.

Visual Studio .NET 2003

Illustrates how to use the nonpredicate version of the adjacent_find Standard Template Library (STL) function in Visual C++.

```template<class ForwardIterator> inline
ForwardIterator First,
ForwardIterator Last
);
```
Note   The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

#### Remarks

The adjacent_find algorithm finds consecutive pairs of matching elements in a sequence. The adjacent_find algorithm returns an iterator referencing the first consecutive matching element in the range (First, Last), or Last if there are no such elements. Comparison is done using operator== in this nonpredicate version of the algorithm.

#### Example

```// adfind.cpp
// compile with: /EHsc
// Illustrates how to use the  non-predicate version of
//
// Functions:
//   adjacent_find - Locate a matching consecutive sequence in a range.

#include <algorithm>
#include <iostream>

using namespace std;

int main()
{
const int ARRAY_SIZE = 8 ;
int IntArray[ARRAY_SIZE] = { 1, 2, 3, 4, 4, 5, 6, 7 } ;

int *location ;   // stores the position for the first pair
// of matching consecutive elements.

int i ;

// print content of IntArray
cout << "IntArray { " ;
for(i = 0; i < ARRAY_SIZE; i++)
cout << IntArray[i] << ", " ;
cout << " }" << endl ;

// Find the first pair of matching consecutive elements
// in the range [first, last + 1)
// This version performs matching using operator==
location = adjacent_find(IntArray, IntArray + ARRAY_SIZE) ;

//print the matching consecutive elements if any were found
if (location != IntArray + ARRAY_SIZE)  // matching consecutive
// elements found
cout << "Found adjacent pair of matching elements: ("
<< *location << ", " << *(location + 1) << "), " <<
"at location " << location - IntArray << endl;
else         // no matching consecutive elements were found
cout << "No adjacent pair of matching elements were found"
<< endl ;

}
```

#### Output

```IntArray { 1, 2, 3, 4, 4, 5, 6, 7,  }
Found adjacent pair of matching elements: (4, 4), at location 3
```