The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
 lang="en" dir="ltr">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>
    adjacent_find    [C++ Reference]
  </title>

  <meta name="generator" content="DokuWiki Release 2009-12-25c &quot;Lemming&quot;" />
<meta name="robots" content="index,follow" />
<meta name="date" content="2009-10-09T00:51:43-0700" />
<meta name="keywords" content="stl,algorithm,adjacent_find" />
<link rel="search" type="application/opensearchdescription+xml" href="/wiki/lib/exe/opensearch.php" title="C++ Reference" />
<link rel="start" href="/wiki/" />
<link rel="contents" href="/wiki/stl/algorithm/adjacent_find?do=index" title="Index" />
<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/wiki/feed.php" />
<link rel="alternate" type="application/rss+xml" title="Current Namespace" href="/wiki/feed.php?mode=list&amp;ns=stl:algorithm" />
<link rel="edit" title="Edit this page" href="/wiki/stl/algorithm/adjacent_find?do=edit" />
<link rel="alternate" type="text/html" title="Plain HTML" href="/wiki/_export/xhtml/stl/algorithm/adjacent_find" />
<link rel="alternate" type="text/plain" title="Wiki Markup" href="/wiki/_export/raw/stl/algorithm/adjacent_find" />
<link rel="canonical" href="http://www.cppreference.com/wiki/stl/algorithm/adjacent_find" />
<link rel="stylesheet" media="all" type="text/css" href="/wiki/lib/exe/css.php?s=all&amp;t=custom1&amp;tseed=1272971091" />
<link rel="stylesheet" media="screen" type="text/css" href="/wiki/lib/exe/css.php?t=custom1&amp;tseed=1272971091" />
<link rel="stylesheet" media="print" type="text/css" href="/wiki/lib/exe/css.php?s=print&amp;t=custom1&amp;tseed=1272971091" />
<script type="text/javascript" charset="utf-8" ><!--//--><![CDATA[//><!--
var NS='stl:algorithm';var JSINFO = {"id":"stl:algorithm:adjacent_find","namespace":"stl:algorithm"};
//--><!]]></script>
<script type="text/javascript" charset="utf-8" src="/wiki/lib/exe/js.php?tseed=1272971091" ></script>

  <link rel="shortcut icon" href="/wiki/lib/tpl/custom1/images/favicon.png" />

  </head>

<body>
<div class="dokuwiki">
  
  <div class="stylehead">

    <div class="breadcrumbs">
      <span class="bchead">You are here: </span><a href="../../start.html"  title="start">C++ Reference</a> &raquo; <a href="../../stl/start.html"  title="stl:start">C++ Standard Template Library</a> &raquo; <a href="../../stl/algorithm/start.html"  title="stl:algorithm:start">C++ Algorithms</a> &raquo; <a href="../../stl/algorithm/adjacent_find.html"  title="stl:algorithm:adjacent_find">adjacent_find</a>    </div>
    
  </div>


  
  
  <div class="page">

    <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2828341-1";
urchinTracker();
</script>
    <!-- wikipage start -->
    


<h2><a name="adjacent_find" id="adjacent_find">adjacent_find</a></h2>
<div class="level2">

<p>
Syntax:
</p>
<pre class="c code c++" style="font-family:monospace;">    <span class="co2">#include &lt;algorithm&gt;</span>
    forward_iterator adjacent_find<span class="br0">&#40;</span> forward_iterator start<span class="sy0">,</span> forward_iterator end <span class="br0">&#41;</span><span class="sy0">;</span>
    forward_iterator adjacent_find<span class="br0">&#40;</span> forward_iterator start<span class="sy0">,</span> forward_iterator end<span class="sy0">,</span> BinPred pr <span class="br0">&#41;</span><span class="sy0">;</span></pre>
<p>

The adjacent_find() function searches between start and end for two consecutive
identical elements. If the binary predicate pr is specified, then it is used to
test whether two elements are the same or not.
The return value is an iterator that points to the first of the two elements
that are found. If no matching elements are found, the returned iterator points
to end.
For example, the following code creates a vector containing the integers
between 0 and 10 with 7 appearing twice in a row. adjacent_find() is then used
to find the location of the pair of 7&#039;s:
</p>
<pre class="c code c++" style="font-family:monospace;">   vector<span class="sy0">&lt;</span>int<span class="sy0">&gt;</span> v1<span class="sy0">;</span>
   <span class="kw1">for</span><span class="br0">&#40;</span> <span class="kw4">int</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> <span class="nu0">10</span><span class="sy0">;</span> i<span class="sy0">++</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
     v1.<span class="me1">push_back</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span><span class="sy0">;</span>
     <span class="co1">// add a duplicate 7 into v1</span>
     <span class="kw1">if</span><span class="br0">&#40;</span> i <span class="sy0">==</span> 7 <span class="br0">&#41;</span> <span class="br0">&#123;</span>
       v1.<span class="me1">push_back</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span><span class="sy0">;</span>
     <span class="br0">&#125;</span>
   <span class="br0">&#125;</span>
&nbsp;
   vector<span class="sy0">&lt;</span>int<span class="sy0">&gt;::</span><span class="me2">iterator</span> result<span class="sy0">;</span>
   result <span class="sy0">=</span> adjacent_find<span class="br0">&#40;</span> v1.<span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">,</span> v1.<span class="me1">end</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
   <span class="kw1">if</span><span class="br0">&#40;</span> result <span class="sy0">==</span> v1.<span class="me1">end</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
     <a href="http://www.opengroup.org/onlinepubs/009695399/functions/cout.html"><span class="kw3">cout</span></a> <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;Did not find adjacent elements in v1&quot;</span> <span class="sy0">&lt;&lt;</span> endl<span class="sy0">;</span>
   <span class="br0">&#125;</span>
&nbsp;
   <span class="kw1">else</span> <span class="br0">&#123;</span>
     <a href="http://www.opengroup.org/onlinepubs/009695399/functions/cout.html"><span class="kw3">cout</span></a> <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;Found matching adjacent elements starting at &quot;</span> <span class="sy0">&lt;&lt;</span> <span class="sy0">*</span>result <span class="sy0">&lt;&lt;</span>
  endl<span class="sy0">;</span>
   <span class="br0">&#125;</span></pre>
<p>
Related Topics: <a href="../../stl/algorithm/find.html" class="wikilink1" title="stl:algorithm:find">find</a>, <a href="../../stl/algorithm/find_end.html" class="wikilink1" title="stl:algorithm:find_end">find_end</a>, <a href="../../stl/algorithm/find_first_of.html" class="wikilink1" title="stl:algorithm:find_first_of">find_first_of</a>, <a href="../../stl/algorithm/find_if.html" class="wikilink1" title="stl:algorithm:find_if">find_if</a>, <a href="../../stl/algorithm/unique.html" class="wikilink1" title="stl:algorithm:unique">unique</a>, <a href="../../stl/algorithm/unique_copy.html" class="wikilink1" title="stl:algorithm:unique_copy">unique_copy</a>
</p>

</div>

    <!-- wikipage stop -->
  </div>

  <div class="clearer">&nbsp;</div>

  
  <div class="stylefoot">

    <div class="meta">
      <div class="user">
              </div>
      <!--
      <div class="doc">
        stl/algorithm/adjacent_find.txt &middot; Last modified: 10/09/2009 00:51 by 124.255.102.233      </div>
      -->
    </div>

   
    </div></div></body>
</html>