<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>find_end</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
<link rel="prev" href="find.html" title="find">
<link rel="next" href="find_first_of.html" title="find_first_of">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_first_of.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="range.reference.algorithms.non_mutating.find_end"></a><a class="link" href="find_end.html" title="find_end">
          find_end</a>
</h5></div></div></div>
<a name="range.reference.algorithms.non_mutating.find_end.prototype"></a><h6>
<a name="id827507"></a>
            <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.prototype">Prototype</a>
          </h6>
<p>
            
</p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">find_end</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>

<span class="keyword">template</span><span class="special">&lt;</span>
    <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
    <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">,</span>
    <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
    <span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">find_end</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>

<span class="keyword">template</span><span class="special">&lt;</span>
    <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
    <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
    <span class="keyword">class</span> <span class="identifier">ForwardRange2</span>
    <span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">find_end</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>

<span class="keyword">template</span><span class="special">&lt;</span>
    <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
    <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
    <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">,</span>
    <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
    <span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">find_end</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
</pre>
<p>
          </p>
<a name="range.reference.algorithms.non_mutating.find_end.description"></a><h6>
<a name="id828152"></a>
            <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.description">Description</a>
          </h6>
<p>
            The versions of <code class="computeroutput"><span class="identifier">find_end</span></code>
            that return an iterator, return an iterator to the beginning of the last
            sub-sequence equal to <code class="computeroutput"><span class="identifier">rng2</span></code>
            within <code class="computeroutput"><span class="identifier">rng1</span></code>. Equality
            is determined by <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code> for non-predicate versions of <code class="computeroutput"><span class="identifier">find_end</span></code>, and by satisfying <code class="computeroutput"><span class="identifier">pred</span></code> in the predicate versions. The
            versions of <code class="computeroutput"><span class="identifier">find_end</span></code>
            that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
            defines <code class="computeroutput"><span class="identifier">found</span></code> in the
            same manner as the returned iterator described above.
          </p>
<a name="range.reference.algorithms.non_mutating.find_end.definition"></a><h6>
<a name="id828282"></a>
            <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.definition">Definition</a>
          </h6>
<p>
            Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">find_end</span><span class="special">.</span><span class="identifier">hpp</span></code>
          </p>
<a name="range.reference.algorithms.non_mutating.find_end.requirements"></a><h6>
<a name="id828353"></a>
            <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.requirements">Requirements</a>
          </h6>
<p>
            <span class="bold"><strong>For the non-predicate versions:</strong></span>
          </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
                <code class="computeroutput"><span class="identifier">ForwardRange1</span></code> is
                a model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward
                Range</a> Concept.
              </li>
<li class="listitem">
                <code class="computeroutput"><span class="identifier">ForwardRange2</span></code> is
                a model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward
                Range</a> Concept.
              </li>
<li class="listitem">
                <code class="computeroutput"><span class="identifier">ForwardRange1</span></code>'s value
                type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
              </li>
<li class="listitem">
                <code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s value
                type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
              </li>
<li class="listitem">
                Objects of <code class="computeroutput"><span class="identifier">ForwardRange1</span></code>'s
                value type can be compared for equality with objects of <code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s value type.
              </li>
</ul></div>
<p>
            <span class="bold"><strong>For the predicate versions:</strong></span>
          </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
                <code class="computeroutput"><span class="identifier">ForwardRange1</span></code> is
                a model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward
                Range</a> Concept.
              </li>
<li class="listitem">
                <code class="computeroutput"><span class="identifier">ForwardRange2</span></code> is
                a model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward
                Range</a> Concept.
              </li>
<li class="listitem">
                <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
                a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
              </li>
<li class="listitem">
                <code class="computeroutput"><span class="identifier">ForwardRange1</span></code>'s value
                type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
                first argument type.
              </li>
<li class="listitem">
                <code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s value
                type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
                second argument type.
              </li>
</ul></div>
<a name="range.reference.algorithms.non_mutating.find_end.complexity"></a><h6>
<a name="id828673"></a>
            <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.complexity">Complexity</a>
          </h6>
<p>
            The number of comparisons is proportional to <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span></code>. If both <code class="computeroutput"><span class="identifier">ForwardRange1</span></code>
            and <code class="computeroutput"><span class="identifier">ForwardRange2</span></code> are
            models of <code class="computeroutput"><span class="identifier">BidirectionalRangeConcept</span></code>
            then the average complexity is linear and the worst case is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span></code>.
          </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_first_of.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
