Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > 0448c66ab6afa2f787658c5e6488e2d9 > files > 1303

libstdc++-docs-8.3.1-0.20191101.1.mga7.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libstdc++: Mutating</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libstdc++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a01480.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Mutating<div class="ingroups"><a class="el" href="a01479.html">Algorithms</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Collaboration diagram for Mutating:</div>
<div class="dyncontent">
<center><table><tr><td><div class="center"><iframe scrolling="no" frameborder="0" src="a01480.svg" width="208" height="35"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga894f503412130680dc19c87af289f4f4"><td class="memTemplParams" colspan="2">template&lt;typename _II , typename _OI &gt; </td></tr>
<tr class="memitem:ga894f503412130680dc19c87af289f4f4"><td class="memTemplItemLeft" align="right" valign="top">_OI&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga894f503412130680dc19c87af289f4f4">std::copy</a> (_II __first, _II __last, _OI __result)</td></tr>
<tr class="separator:ga894f503412130680dc19c87af289f4f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0de0305e64a82131960e2769624a740"><td class="memTemplParams" colspan="2">template&lt;typename _BI1 , typename _BI2 &gt; </td></tr>
<tr class="memitem:gaf0de0305e64a82131960e2769624a740"><td class="memTemplItemLeft" align="right" valign="top">_BI2&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gaf0de0305e64a82131960e2769624a740">std::copy_backward</a> (_BI1 __first, _BI1 __last, _BI2 __result)</td></tr>
<tr class="separator:gaf0de0305e64a82131960e2769624a740"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0450d291c012c315181300fb83de8501"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator , typename _OutputIterator , typename _Predicate &gt; </td></tr>
<tr class="memitem:ga0450d291c012c315181300fb83de8501"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga0450d291c012c315181300fb83de8501">std::copy_if</a> (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred)</td></tr>
<tr class="separator:ga0450d291c012c315181300fb83de8501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b6a2a5b1c55fb141030b8e6c8aad212"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator , typename _Size , typename _OutputIterator &gt; </td></tr>
<tr class="memitem:ga6b6a2a5b1c55fb141030b8e6c8aad212"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga6b6a2a5b1c55fb141030b8e6c8aad212">std::copy_n</a> (_InputIterator __first, _Size __n, _OutputIterator __result)</td></tr>
<tr class="separator:ga6b6a2a5b1c55fb141030b8e6c8aad212"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2e4bb5cc3300aaf6c0e5bdc3371bf06"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _Tp &gt; </td></tr>
<tr class="memitem:gab2e4bb5cc3300aaf6c0e5bdc3371bf06"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gab2e4bb5cc3300aaf6c0e5bdc3371bf06">std::fill</a> (_ForwardIterator __first, _ForwardIterator __last, const _Tp &amp;__value)</td></tr>
<tr class="separator:gab2e4bb5cc3300aaf6c0e5bdc3371bf06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0af400b776b8486401daf6ecf91bacca"><td class="memTemplParams" colspan="2">template&lt;typename _OI , typename _Size , typename _Tp &gt; </td></tr>
<tr class="memitem:ga0af400b776b8486401daf6ecf91bacca"><td class="memTemplItemLeft" align="right" valign="top">_OI&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga0af400b776b8486401daf6ecf91bacca">std::fill_n</a> (_OI __first, _Size __n, const _Tp &amp;__value)</td></tr>
<tr class="separator:ga0af400b776b8486401daf6ecf91bacca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga691c5789ea06238032ea649bf4b81855"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _Generator &gt; </td></tr>
<tr class="memitem:ga691c5789ea06238032ea649bf4b81855"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga691c5789ea06238032ea649bf4b81855">std::generate</a> (_ForwardIterator __first, _ForwardIterator __last, _Generator __gen)</td></tr>
<tr class="separator:ga691c5789ea06238032ea649bf4b81855"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae428f053e61ca88f817152bd0f44c5fb"><td class="memTemplParams" colspan="2">template&lt;typename _OutputIterator , typename _Size , typename _Generator &gt; </td></tr>
<tr class="memitem:gae428f053e61ca88f817152bd0f44c5fb"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gae428f053e61ca88f817152bd0f44c5fb">std::generate_n</a> (_OutputIterator __first, _Size __n, _Generator __gen)</td></tr>
<tr class="separator:gae428f053e61ca88f817152bd0f44c5fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba1a020bbd42810ce065fa9e239652d6"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator , typename _Predicate &gt; </td></tr>
<tr class="memitem:gaba1a020bbd42810ce065fa9e239652d6"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gaba1a020bbd42810ce065fa9e239652d6">std::is_partitioned</a> (_InputIterator __first, _InputIterator __last, _Predicate __pred)</td></tr>
<tr class="separator:gaba1a020bbd42810ce065fa9e239652d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad93e66478d9a63e5777733be09931388"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator1 , typename _ForwardIterator2 &gt; </td></tr>
<tr class="memitem:gad93e66478d9a63e5777733be09931388"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gad93e66478d9a63e5777733be09931388">std::iter_swap</a> (_ForwardIterator1 __a, _ForwardIterator2 __b)</td></tr>
<tr class="separator:gad93e66478d9a63e5777733be09931388"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedffc88b77674cbf9966e30a9c275bb6"><td class="memTemplParams" colspan="2">template&lt;typename _II , typename _OI &gt; </td></tr>
<tr class="memitem:gaedffc88b77674cbf9966e30a9c275bb6"><td class="memTemplItemLeft" align="right" valign="top">_OI&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gaedffc88b77674cbf9966e30a9c275bb6">std::move</a> (_II __first, _II __last, _OI __result)</td></tr>
<tr class="separator:gaedffc88b77674cbf9966e30a9c275bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1743475fe627f5302b98ae41f8bf0ad5"><td class="memTemplParams" colspan="2">template&lt;typename _BI1 , typename _BI2 &gt; </td></tr>
<tr class="memitem:ga1743475fe627f5302b98ae41f8bf0ad5"><td class="memTemplItemLeft" align="right" valign="top">_BI2&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga1743475fe627f5302b98ae41f8bf0ad5">std::move_backward</a> (_BI1 __first, _BI1 __last, _BI2 __result)</td></tr>
<tr class="separator:ga1743475fe627f5302b98ae41f8bf0ad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64c8d89411856cea58194aa69a3c37f3"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _Predicate &gt; </td></tr>
<tr class="memitem:ga64c8d89411856cea58194aa69a3c37f3"><td class="memTemplItemLeft" align="right" valign="top">_ForwardIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga64c8d89411856cea58194aa69a3c37f3">std::partition</a> (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)</td></tr>
<tr class="separator:ga64c8d89411856cea58194aa69a3c37f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15ed8c195c2228b62770f24b4fd9de05"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator , typename _OutputIterator1 , typename _OutputIterator2 , typename _Predicate &gt; </td></tr>
<tr class="memitem:ga15ed8c195c2228b62770f24b4fd9de05"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a07764.html">pair</a>&lt; _OutputIterator1, _OutputIterator2 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga15ed8c195c2228b62770f24b4fd9de05">std::partition_copy</a> (_InputIterator __first, _InputIterator __last, _OutputIterator1 __out_true, _OutputIterator2 __out_false, _Predicate __pred)</td></tr>
<tr class="separator:ga15ed8c195c2228b62770f24b4fd9de05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca57a24221766660c3b9d83e2b3f8f97"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _Predicate &gt; </td></tr>
<tr class="memitem:gaca57a24221766660c3b9d83e2b3f8f97"><td class="memTemplItemLeft" align="right" valign="top">_ForwardIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gaca57a24221766660c3b9d83e2b3f8f97">std::partition_point</a> (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)</td></tr>
<tr class="separator:gaca57a24221766660c3b9d83e2b3f8f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf4e555bd94a923ad7d263703b4ab2bc"><td class="memTemplParams" colspan="2">template&lt;typename _RandomAccessIterator , typename _RandomNumberGenerator &gt; </td></tr>
<tr class="memitem:gabf4e555bd94a923ad7d263703b4ab2bc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gabf4e555bd94a923ad7d263703b4ab2bc">std::random_shuffle</a> (_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomNumberGenerator &amp;&amp;__rand)</td></tr>
<tr class="separator:gabf4e555bd94a923ad7d263703b4ab2bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga166f118ed07d6a2dd58c9bbdd7c0f5b5"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _Tp &gt; </td></tr>
<tr class="memitem:ga166f118ed07d6a2dd58c9bbdd7c0f5b5"><td class="memTemplItemLeft" align="right" valign="top">_ForwardIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga166f118ed07d6a2dd58c9bbdd7c0f5b5">std::remove</a> (_ForwardIterator __first, _ForwardIterator __last, const _Tp &amp;__value)</td></tr>
<tr class="separator:ga166f118ed07d6a2dd58c9bbdd7c0f5b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6118d2d397ae6ad3b11604c6eb843a31"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator , typename _OutputIterator , typename _Tp &gt; </td></tr>
<tr class="memitem:ga6118d2d397ae6ad3b11604c6eb843a31"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga6118d2d397ae6ad3b11604c6eb843a31">std::remove_copy</a> (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp &amp;__value)</td></tr>
<tr class="separator:ga6118d2d397ae6ad3b11604c6eb843a31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80d825ff82bc980758c885296cec1fb1"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator , typename _OutputIterator , typename _Predicate &gt; </td></tr>
<tr class="memitem:ga80d825ff82bc980758c885296cec1fb1"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga80d825ff82bc980758c885296cec1fb1">std::remove_copy_if</a> (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred)</td></tr>
<tr class="separator:ga80d825ff82bc980758c885296cec1fb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80cc02d9d8e0975b92933a90579b3678"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _Predicate &gt; </td></tr>
<tr class="memitem:ga80cc02d9d8e0975b92933a90579b3678"><td class="memTemplItemLeft" align="right" valign="top">_ForwardIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga80cc02d9d8e0975b92933a90579b3678">std::remove_if</a> (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)</td></tr>
<tr class="separator:ga80cc02d9d8e0975b92933a90579b3678"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77aa7f436223611f545f84715a30ffeb"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _Tp &gt; </td></tr>
<tr class="memitem:ga77aa7f436223611f545f84715a30ffeb"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga77aa7f436223611f545f84715a30ffeb">std::replace</a> (_ForwardIterator __first, _ForwardIterator __last, const _Tp &amp;__old_value, const _Tp &amp;__new_value)</td></tr>
<tr class="separator:ga77aa7f436223611f545f84715a30ffeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf42cb56a0d7dfd9124bddc4194cb53a4"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator , typename _OutputIterator , typename _Predicate , typename _Tp &gt; </td></tr>
<tr class="memitem:gaf42cb56a0d7dfd9124bddc4194cb53a4"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gaf42cb56a0d7dfd9124bddc4194cb53a4">std::replace_copy_if</a> (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp &amp;__new_value)</td></tr>
<tr class="separator:gaf42cb56a0d7dfd9124bddc4194cb53a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0afa1177a761d23ec3ec965207144455"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _Predicate , typename _Tp &gt; </td></tr>
<tr class="memitem:ga0afa1177a761d23ec3ec965207144455"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga0afa1177a761d23ec3ec965207144455">std::replace_if</a> (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp &amp;__new_value)</td></tr>
<tr class="separator:ga0afa1177a761d23ec3ec965207144455"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeee34a9f7380d22d29f0e895d1c014e0"><td class="memTemplParams" colspan="2">template&lt;typename _BidirectionalIterator &gt; </td></tr>
<tr class="memitem:gaeee34a9f7380d22d29f0e895d1c014e0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gaeee34a9f7380d22d29f0e895d1c014e0">std::reverse</a> (_BidirectionalIterator __first, _BidirectionalIterator __last)</td></tr>
<tr class="separator:gaeee34a9f7380d22d29f0e895d1c014e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea264a482d59bc9c99edca7595f025eb"><td class="memTemplParams" colspan="2">template&lt;typename _BidirectionalIterator , typename _OutputIterator &gt; </td></tr>
<tr class="memitem:gaea264a482d59bc9c99edca7595f025eb"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gaea264a482d59bc9c99edca7595f025eb">std::reverse_copy</a> (_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result)</td></tr>
<tr class="separator:gaea264a482d59bc9c99edca7595f025eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52864eec5d415d353701192a9db44f7c"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator &gt; </td></tr>
<tr class="memitem:ga52864eec5d415d353701192a9db44f7c"><td class="memTemplItemLeft" align="right" valign="top">_ForwardIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga52864eec5d415d353701192a9db44f7c">std::_V2::rotate</a> (_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last)</td></tr>
<tr class="separator:ga52864eec5d415d353701192a9db44f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2a738ab86e393c9c8689708fd9afbf0"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _OutputIterator &gt; </td></tr>
<tr class="memitem:gaf2a738ab86e393c9c8689708fd9afbf0"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gaf2a738ab86e393c9c8689708fd9afbf0">std::rotate_copy</a> (_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result)</td></tr>
<tr class="separator:gaf2a738ab86e393c9c8689708fd9afbf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c197f83f8612241f91e0a44703fdeaf"><td class="memTemplParams" colspan="2">template&lt;typename _RandomAccessIterator , typename _UniformRandomNumberGenerator &gt; </td></tr>
<tr class="memitem:ga9c197f83f8612241f91e0a44703fdeaf"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga9c197f83f8612241f91e0a44703fdeaf">std::shuffle</a> (_RandomAccessIterator __first, _RandomAccessIterator __last, _UniformRandomNumberGenerator &amp;&amp;__g)</td></tr>
<tr class="separator:ga9c197f83f8612241f91e0a44703fdeaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4396b91f26c7aaf0ae150a79ebd965b7"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _Predicate &gt; </td></tr>
<tr class="memitem:ga4396b91f26c7aaf0ae150a79ebd965b7"><td class="memTemplItemLeft" align="right" valign="top">_ForwardIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga4396b91f26c7aaf0ae150a79ebd965b7">std::stable_partition</a> (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)</td></tr>
<tr class="separator:ga4396b91f26c7aaf0ae150a79ebd965b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9603907c05659cb5cfc6ea20be9ae01"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator1 , typename _ForwardIterator2 &gt; </td></tr>
<tr class="memitem:gae9603907c05659cb5cfc6ea20be9ae01"><td class="memTemplItemLeft" align="right" valign="top">_ForwardIterator2&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gae9603907c05659cb5cfc6ea20be9ae01">std::swap_ranges</a> (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2)</td></tr>
<tr class="separator:gae9603907c05659cb5cfc6ea20be9ae01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga475f12632a75f77b41aa843dfddfe422"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator , typename _OutputIterator , typename _UnaryOperation &gt; </td></tr>
<tr class="memitem:ga475f12632a75f77b41aa843dfddfe422"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga475f12632a75f77b41aa843dfddfe422">std::transform</a> (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __unary_op)</td></tr>
<tr class="separator:ga475f12632a75f77b41aa843dfddfe422"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga92e41473c3907d39cbc98ab6bea346fe"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator1 , typename _InputIterator2 , typename _OutputIterator , typename _BinaryOperation &gt; </td></tr>
<tr class="memitem:ga92e41473c3907d39cbc98ab6bea346fe"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga92e41473c3907d39cbc98ab6bea346fe">std::transform</a> (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op)</td></tr>
<tr class="separator:ga92e41473c3907d39cbc98ab6bea346fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84999f9a9f647b18e3ec9e9e9aaa81f4"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator &gt; </td></tr>
<tr class="memitem:ga84999f9a9f647b18e3ec9e9e9aaa81f4"><td class="memTemplItemLeft" align="right" valign="top">_ForwardIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga84999f9a9f647b18e3ec9e9e9aaa81f4">std::unique</a> (_ForwardIterator __first, _ForwardIterator __last)</td></tr>
<tr class="separator:ga84999f9a9f647b18e3ec9e9e9aaa81f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7db53d49590370140ef23f2c9bf7b225"><td class="memTemplParams" colspan="2">template&lt;typename _ForwardIterator , typename _BinaryPredicate &gt; </td></tr>
<tr class="memitem:ga7db53d49590370140ef23f2c9bf7b225"><td class="memTemplItemLeft" align="right" valign="top">_ForwardIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga7db53d49590370140ef23f2c9bf7b225">std::unique</a> (_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred)</td></tr>
<tr class="separator:ga7db53d49590370140ef23f2c9bf7b225"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e0563edcc7414a3f1ee52d1c3e9e1e0"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator , typename _OutputIterator &gt; </td></tr>
<tr class="memitem:ga6e0563edcc7414a3f1ee52d1c3e9e1e0"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#ga6e0563edcc7414a3f1ee52d1c3e9e1e0">std::unique_copy</a> (_InputIterator __first, _InputIterator __last, _OutputIterator __result)</td></tr>
<tr class="separator:ga6e0563edcc7414a3f1ee52d1c3e9e1e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae33ff01e114f7384a462a242a75dd311"><td class="memTemplParams" colspan="2">template&lt;typename _InputIterator , typename _OutputIterator , typename _BinaryPredicate &gt; </td></tr>
<tr class="memitem:gae33ff01e114f7384a462a242a75dd311"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01480.html#gae33ff01e114f7384a462a242a75dd311">std::unique_copy</a> (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred)</td></tr>
<tr class="separator:gae33ff01e114f7384a462a242a75dd311"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga894f503412130680dc19c87af289f4f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga894f503412130680dc19c87af289f4f4">&#9670;&nbsp;</a></span>copy()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _II , typename _OI &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_OI std::copy </td>
          <td>(</td>
          <td class="paramtype">_II&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_II&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OI&#160;</td>
          <td class="paramname"><em>__result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copies the range [first,last) into result. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>result + (first - last)</dd></dl>
<p>This inline function will boil down to a call to <code>memmove</code> whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler optimizations such as unrolling). Result may not be contained within [first,last); the copy_backward function should be used instead.</p>
<p>Note that the end of the output range is permitted to be contained within [first,last). </p>

<p class="definition">Definition at line <a class="el" href="a00530_source.html#l00446">446</a> of file <a class="el" href="a00530_source.html">stl_algobase.h</a>.</p>

</div>
</div>
<a id="gaf0de0305e64a82131960e2769624a740"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf0de0305e64a82131960e2769624a740">&#9670;&nbsp;</a></span>copy_backward()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _BI1 , typename _BI2 &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_BI2 std::copy_backward </td>
          <td>(</td>
          <td class="paramtype">_BI1&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_BI1&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_BI2&#160;</td>
          <td class="paramname"><em>__result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copies the range [first,last) into result. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A bidirectional iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A bidirectional iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>A bidirectional iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>result - (first - last)</dd></dl>
<p>The function has the same effect as copy, but starts at the end of the range and works its way to the start, returning the start of the result. This inline function will boil down to a call to <code>memmove</code> whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler optimizations such as unrolling).</p>
<p>Result may not be in the range (first,last]. Use copy instead. Note that the start of the output range may overlap [first,last). </p>

<p class="definition">Definition at line <a class="el" href="a00530_source.html#l00622">622</a> of file <a class="el" href="a00530_source.html">stl_algobase.h</a>.</p>

</div>
</div>
<a id="ga0450d291c012c315181300fb83de8501"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0450d291c012c315181300fb83de8501">&#9670;&nbsp;</a></span>copy_if()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator , typename _OutputIterator , typename _Predicate &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::copy_if </td>
          <td>(</td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Predicate&#160;</td>
          <td class="paramname"><em>__pred</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy the elements of a sequence for which a predicate is true. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
    <tr><td class="paramname">__pred</td><td>A predicate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>Copies each element in the range <code></code>[__first,__last) for which <code>__pred</code> returns true to the range beginning at <code>__result</code>.</p>
<p>copy_if() is stable, so the relative order of elements that are copied is unchanged. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l00737">737</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga6b6a2a5b1c55fb141030b8e6c8aad212"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6b6a2a5b1c55fb141030b8e6c8aad212">&#9670;&nbsp;</a></span>copy_n()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator , typename _Size , typename _OutputIterator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::copy_n </td>
          <td>(</td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Size&#160;</td>
          <td class="paramname"><em>__n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copies the range [first,first+n) into [result,result+n). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__n</td><td>The number of elements to copy. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>result+n.</dd></dl>
<p>This inline function will boil down to a call to <code>memmove</code> whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler optimizations such as unrolling). </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l00799">799</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gab2e4bb5cc3300aaf6c0e5bdc3371bf06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab2e4bb5cc3300aaf6c0e5bdc3371bf06">&#9670;&nbsp;</a></span>fill()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _Tp &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void std::fill </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const _Tp &amp;&#160;</td>
          <td class="paramname"><em>__value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Fills the range [first,last) with copies of value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__value</td><td>A reference-to-const of arbitrary type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nothing.</dd></dl>
<p>This function fills a range with copies of the same value. For char types filling contiguous areas of memory, this becomes an inline call to <code>memset</code> or <code>wmemset</code>. </p>

<p class="definition">Definition at line <a class="el" href="a00530_source.html#l00724">724</a> of file <a class="el" href="a00530_source.html">stl_algobase.h</a>.</p>

</div>
</div>
<a id="ga0af400b776b8486401daf6ecf91bacca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0af400b776b8486401daf6ecf91bacca">&#9670;&nbsp;</a></span>fill_n()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _OI , typename _Size , typename _Tp &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_OI std::fill_n </td>
          <td>(</td>
          <td class="paramtype">_OI&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Size&#160;</td>
          <td class="paramname"><em>__n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const _Tp &amp;&#160;</td>
          <td class="paramname"><em>__value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Fills the range [first,first+n) with copies of value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An output iterator. </td></tr>
    <tr><td class="paramname">__n</td><td>The count of copies to perform. </td></tr>
    <tr><td class="paramname">__value</td><td>A reference-to-const of arbitrary type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The iterator at first+n.</dd></dl>
<p>This function fills a range with copies of the same value. For char types filling contiguous areas of memory, this becomes an inline call to <code>memset</code> or @ wmemset.</p>
<p>_GLIBCXX_RESOLVE_LIB_DEFECTS DR 865. More algorithms that throw away information </p>

<p class="definition">Definition at line <a class="el" href="a00530_source.html#l00784">784</a> of file <a class="el" href="a00530_source.html">stl_algobase.h</a>.</p>

</div>
</div>
<a id="ga691c5789ea06238032ea649bf4b81855"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga691c5789ea06238032ea649bf4b81855">&#9670;&nbsp;</a></span>generate()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _Generator &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void std::generate </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Generator&#160;</td>
          <td class="paramname"><em>__gen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign the result of a function object to each value in a sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__gen</td><td>A function object taking no arguments and returning std::iterator_traits&lt;_ForwardIterator&gt;::value_type </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>generate() returns no value.</dd></dl>
<p>Performs the assignment <code>*i</code> = <code>__gen()</code> for each <code>i</code> in the range <code></code>[__first,__last). </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l04426">4426</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gae428f053e61ca88f817152bd0f44c5fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae428f053e61ca88f817152bd0f44c5fb">&#9670;&nbsp;</a></span>generate_n()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _OutputIterator , typename _Size , typename _Generator &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::generate_n </td>
          <td>(</td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Size&#160;</td>
          <td class="paramname"><em>__n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Generator&#160;</td>
          <td class="paramname"><em>__gen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign the result of a function object to each value in a sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__n</td><td>The length of the sequence. </td></tr>
    <tr><td class="paramname">__gen</td><td>A function object taking no arguments and returning std::iterator_traits&lt;_ForwardIterator&gt;::value_type </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The end of the sequence, <code>__first+__n</code> </dd></dl>
<p>Performs the assignment <code>*i</code> = <code>__gen()</code> for each <code>i</code> in the range <code></code>[__first,__first+__n).</p>
<p>_GLIBCXX_RESOLVE_LIB_DEFECTS DR 865. More algorithms that throw away information </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l04457">4457</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gaba1a020bbd42810ce065fa9e239652d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaba1a020bbd42810ce065fa9e239652d6">&#9670;&nbsp;</a></span>is_partitioned()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator , typename _Predicate &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool std::is_partitioned </td>
          <td>(</td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Predicate&#160;</td>
          <td class="paramname"><em>__pred</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Checks whether the sequence is partitioned. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__pred</td><td>A predicate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the range <code></code>[__first,__last) is partioned by <code>__pred</code>, i.e. if all elements that satisfy <code>__pred</code> appear before those that do not. </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l00582">582</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

<p class="reference">References <a class="el" href="a00527_source.html#l00558">std::find_if_not()</a>, and <a class="el" href="a00527_source.html#l00525">std::none_of()</a>.</p>

</div>
</div>
<a id="gad93e66478d9a63e5777733be09931388"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad93e66478d9a63e5777733be09931388">&#9670;&nbsp;</a></span>iter_swap()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator1 , typename _ForwardIterator2 &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void std::iter_swap </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator1&#160;</td>
          <td class="paramname"><em>__a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator2&#160;</td>
          <td class="paramname"><em>__b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Swaps the contents of two iterators. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__a</td><td>An iterator. </td></tr>
    <tr><td class="paramname">__b</td><td>Another iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nothing.</dd></dl>
<p>This function swaps the values pointed to by two iterators, not the iterators themselves. </p>

<p class="definition">Definition at line <a class="el" href="a00530_source.html#l00120">120</a> of file <a class="el" href="a00530_source.html">stl_algobase.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00527_source.html#l02476">std::__merge_without_buffer()</a>, <a class="el" href="a00527_source.html#l00078">std::__move_median_to_first()</a>, <a class="el" href="a00527_source.html#l01488">std::__partition()</a>, <a class="el" href="a00527_source.html#l01132">std::__reverse()</a>, <a class="el" href="a00527_source.html#l01249">std::_V2::__rotate()</a>, and <a class="el" href="a00527_source.html#l01896">std::__unguarded_partition()</a>.</p>

</div>
</div>
<a id="gaedffc88b77674cbf9966e30a9c275bb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaedffc88b77674cbf9966e30a9c275bb6">&#9670;&nbsp;</a></span>move()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _II , typename _OI &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_OI std::move </td>
          <td>(</td>
          <td class="paramtype">_II&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_II&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OI&#160;</td>
          <td class="paramname"><em>__result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Moves the range [first,last) into result. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>result + (first - last)</dd></dl>
<p>This inline function will boil down to a call to <code>memmove</code> whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler optimizations such as unrolling). Result may not be contained within [first,last); the move_backward function should be used instead.</p>
<p>Note that the end of the output range is permitted to be contained within [first,last). </p>

<p class="definition">Definition at line <a class="el" href="a00530_source.html#l00479">479</a> of file <a class="el" href="a00530_source.html">stl_algobase.h</a>.</p>

</div>
</div>
<a id="ga1743475fe627f5302b98ae41f8bf0ad5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1743475fe627f5302b98ae41f8bf0ad5">&#9670;&nbsp;</a></span>move_backward()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _BI1 , typename _BI2 &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_BI2 std::move_backward </td>
          <td>(</td>
          <td class="paramtype">_BI1&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_BI1&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_BI2&#160;</td>
          <td class="paramname"><em>__result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Moves the range [first,last) into result. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A bidirectional iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A bidirectional iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>A bidirectional iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>result - (first - last)</dd></dl>
<p>The function has the same effect as move, but starts at the end of the range and works its way to the start, returning the start of the result. This inline function will boil down to a call to <code>memmove</code> whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler optimizations such as unrolling).</p>
<p>Result may not be in the range (first,last]. Use move instead. Note that the start of the output range may overlap [first,last). </p>

<p class="definition">Definition at line <a class="el" href="a00530_source.html#l00658">658</a> of file <a class="el" href="a00530_source.html">stl_algobase.h</a>.</p>

</div>
</div>
<a id="ga64c8d89411856cea58194aa69a3c37f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga64c8d89411856cea58194aa69a3c37f3">&#9670;&nbsp;</a></span>partition()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _Predicate &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_ForwardIterator std::partition </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Predicate&#160;</td>
          <td class="paramname"><em>__pred</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Move elements for which a predicate is true to the beginning of a sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__pred</td><td>A predicate functor. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator <code>middle</code> such that <code>__pred(i)</code> is true for each iterator <code>i</code> in the range <code></code>[__first,middle) and false for each <code>i</code> in the range <code></code>[middle,__last).</dd></dl>
<p><code>__pred</code> must not modify its operand. <code>partition()</code> does not preserve the relative ordering of elements in each group, use <code>stable_partition()</code> if this is needed. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l04641">4641</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga15ed8c195c2228b62770f24b4fd9de05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga15ed8c195c2228b62770f24b4fd9de05">&#9670;&nbsp;</a></span>partition_copy()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator , typename _OutputIterator1 , typename _OutputIterator2 , typename _Predicate &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a07764.html">pair</a>&lt;_OutputIterator1, _OutputIterator2&gt; std::partition_copy </td>
          <td>(</td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator1&#160;</td>
          <td class="paramname"><em>__out_true</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator2&#160;</td>
          <td class="paramname"><em>__out_false</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Predicate&#160;</td>
          <td class="paramname"><em>__pred</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy the elements of a sequence to separate output sequences depending on the truth value of a predicate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__out_true</td><td>An output iterator. </td></tr>
    <tr><td class="paramname">__out_false</td><td>An output iterator. </td></tr>
    <tr><td class="paramname">__pred</td><td>A predicate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pair designating the ends of the resulting sequences.</dd></dl>
<p>Copies each element in the range <code></code>[__first,__last) for which <code>__pred</code> returns true to the range beginning at <code>out_true</code> and each element for which <code>__pred</code> returns false to <code>__out_false</code>. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l00828">828</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gaca57a24221766660c3b9d83e2b3f8f97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaca57a24221766660c3b9d83e2b3f8f97">&#9670;&nbsp;</a></span>partition_point()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _Predicate &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">_ForwardIterator std::partition_point </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Predicate&#160;</td>
          <td class="paramname"><em>__pred</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find the partition point of a partitioned range. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>Another iterator. </td></tr>
    <tr><td class="paramname">__pred</td><td>A predicate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator <code>mid</code> such that <code>all_of(__first, mid, __pred)</code> and <code>none_of(mid, __last, __pred)</code> are both true. </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l00603">603</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gabf4e555bd94a923ad7d263703b4ab2bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabf4e555bd94a923ad7d263703b4ab2bc">&#9670;&nbsp;</a></span>random_shuffle()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _RandomAccessIterator , typename _RandomNumberGenerator &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void std::random_shuffle </td>
          <td>(</td>
          <td class="paramtype">_RandomAccessIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_RandomAccessIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_RandomNumberGenerator &amp;&amp;&#160;</td>
          <td class="paramname"><em>__rand</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Shuffle the elements of a sequence using a random number generator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__rand</td><td>The RNG functor or function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nothing.</dd></dl>
<p>Reorders the elements in the range <code></code>[__first,__last) using <code>__rand</code> to provide a random distribution. Calling <code>__rand(N)</code> for a positive integer <code>N</code> should return a randomly chosen integer from the range [0,N). </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l04601">4601</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga166f118ed07d6a2dd58c9bbdd7c0f5b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga166f118ed07d6a2dd58c9bbdd7c0f5b5">&#9670;&nbsp;</a></span>remove()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _Tp &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_ForwardIterator std::remove </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const _Tp &amp;&#160;</td>
          <td class="paramname"><em>__value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove elements from a sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__value</td><td>The value to be removed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>All elements equal to <code>__value</code> are removed from the range <code></code>[__first,__last).</p>
<p>remove() is stable, so the relative order of elements that are not removed is unchanged.</p>
<p>Elements between the end of the resulting sequence and <code>__last</code> are still present, but their value is unspecified. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l00896">896</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga6118d2d397ae6ad3b11604c6eb843a31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6118d2d397ae6ad3b11604c6eb843a31">&#9670;&nbsp;</a></span>remove_copy()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator , typename _OutputIterator , typename _Tp &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::remove_copy </td>
          <td>(</td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const _Tp &amp;&#160;</td>
          <td class="paramname"><em>__value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy a sequence, removing elements of a given value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
    <tr><td class="paramname">__value</td><td>The value to be removed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>Copies each element in the range <code></code>[__first,__last) not equal to <code>__value</code> to the range beginning at <code>__result</code>. remove_copy() is stable, so the relative order of elements that are copied is unchanged. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l00670">670</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga80d825ff82bc980758c885296cec1fb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga80d825ff82bc980758c885296cec1fb1">&#9670;&nbsp;</a></span>remove_copy_if()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator , typename _OutputIterator , typename _Predicate &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::remove_copy_if </td>
          <td>(</td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Predicate&#160;</td>
          <td class="paramname"><em>__pred</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy a sequence, removing elements for which a predicate is true. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
    <tr><td class="paramname">__pred</td><td>A predicate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>Copies each element in the range <code></code>[__first,__last) for which <code>__pred</code> returns false to the range beginning at <code>__result</code>.</p>
<p>remove_copy_if() is stable, so the relative order of elements that are copied is unchanged. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l00703">703</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga80cc02d9d8e0975b92933a90579b3678"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga80cc02d9d8e0975b92933a90579b3678">&#9670;&nbsp;</a></span>remove_if()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _Predicate &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_ForwardIterator std::remove_if </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Predicate&#160;</td>
          <td class="paramname"><em>__pred</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove elements from a sequence using a predicate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__pred</td><td>A predicate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>All elements for which <code>__pred</code> returns true are removed from the range <code></code>[__first,__last).</p>
<p>remove_if() is stable, so the relative order of elements that are not removed is unchanged.</p>
<p>Elements between the end of the resulting sequence and <code>__last</code> are still present, but their value is unspecified. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l00929">929</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga77aa7f436223611f545f84715a30ffeb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga77aa7f436223611f545f84715a30ffeb">&#9670;&nbsp;</a></span>replace()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _Tp &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void std::replace </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const _Tp &amp;&#160;</td>
          <td class="paramname"><em>__old_value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const _Tp &amp;&#160;</td>
          <td class="paramname"><em>__new_value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replace each occurrence of one value in a sequence with another value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__old_value</td><td>The value to be replaced. </td></tr>
    <tr><td class="paramname">__new_value</td><td>The replacement value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>replace() returns no value.</dd></dl>
<p>For each iterator <code>i</code> in the range <code></code>[__first,__last) if <code>*i</code> == <code>__old_value</code> then the assignment <code>*i</code> = <code>__new_value</code> is performed. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l04362">4362</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gaf42cb56a0d7dfd9124bddc4194cb53a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf42cb56a0d7dfd9124bddc4194cb53a4">&#9670;&nbsp;</a></span>replace_copy_if()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator , typename _OutputIterator , typename _Predicate , typename _Tp &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::replace_copy_if </td>
          <td>(</td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Predicate&#160;</td>
          <td class="paramname"><em>__pred</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const _Tp &amp;&#160;</td>
          <td class="paramname"><em>__new_value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy a sequence, replacing each value for which a predicate returns true with another value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
    <tr><td class="paramname">__pred</td><td>A predicate. </td></tr>
    <tr><td class="paramname">__new_value</td><td>The replacement value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The end of the output sequence, <code>__result+</code>(__last-__first).</dd></dl>
<p>Copies each element in the range <code></code>[__first,__last) to the range <code></code>[__result,__result+(__last-__first)) replacing elements for which <code>__pred</code> returns true with <code>__new_value</code>. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l03171">3171</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga0afa1177a761d23ec3ec965207144455"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0afa1177a761d23ec3ec965207144455">&#9670;&nbsp;</a></span>replace_if()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _Predicate , typename _Tp &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void std::replace_if </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Predicate&#160;</td>
          <td class="paramname"><em>__pred</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const _Tp &amp;&#160;</td>
          <td class="paramname"><em>__new_value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replace each value in a sequence for which a predicate returns true with another value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__pred</td><td>A predicate. </td></tr>
    <tr><td class="paramname">__new_value</td><td>The replacement value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>replace_if() returns no value.</dd></dl>
<p>For each iterator <code>i</code> in the range <code></code>[__first,__last) if <code>__pred(*i)</code> is true then the assignment <code>*i</code> = <code>__new_value</code> is performed. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l04394">4394</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gaeee34a9f7380d22d29f0e895d1c014e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeee34a9f7380d22d29f0e895d1c014e0">&#9670;&nbsp;</a></span>reverse()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _BidirectionalIterator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void std::reverse </td>
          <td>(</td>
          <td class="paramtype">_BidirectionalIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_BidirectionalIterator&#160;</td>
          <td class="paramname"><em>__last</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reverse a sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A bidirectional iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A bidirectional iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reverse() returns no value.</dd></dl>
<p>Reverses the order of the elements in the range <code></code>[__first,__last), so that the first element becomes the last etc. For every <code>i</code> such that <code>0&lt;=i&lt;=</code>(__last-__first)/2), <code>reverse()</code> swaps <code>*</code>(__first+i) and <code>*</code>(__last-(i+1)) </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l01180">1180</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gaea264a482d59bc9c99edca7595f025eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaea264a482d59bc9c99edca7595f025eb">&#9670;&nbsp;</a></span>reverse_copy()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _BidirectionalIterator , typename _OutputIterator &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::reverse_copy </td>
          <td>(</td>
          <td class="paramtype">_BidirectionalIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_BidirectionalIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy a sequence, reversing its elements. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A bidirectional iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A bidirectional iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>Copies the elements in the range <code></code>[__first,__last) to the range <code></code>[__result,__result+(__last-__first)) such that the order of the elements is reversed. For every <code>i</code> such that <code>0&lt;=i&lt;=</code>(__last-__first), <code>reverse_copy()</code> performs the assignment <code>*</code>(__result+(__last-__first)-1-i) = *(__first+i). The ranges <code></code>[__first,__last) and <code></code>[__result,__result+(__last-__first)) must not overlap. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l01207">1207</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga52864eec5d415d353701192a9db44f7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga52864eec5d415d353701192a9db44f7c">&#9670;&nbsp;</a></span>rotate()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_ForwardIterator std::_V2::rotate </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__middle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Rotate the elements of a sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__middle</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>first + (last - middle).</dd></dl>
<p>Rotates the elements of the range <code></code>[__first,__last) by <code></code>(__middle - __first) positions so that the element at <code>__middle</code> is moved to <code>__first</code>, the element at <code>__middle+1</code> is moved to <code>__first+1</code> and so on for each element in the range <code></code>[__first,__last).</p>
<p>This effectively swaps the ranges <code></code>[__first,__middle) and <code></code>[__middle,__last).</p>
<p>Performs <code>*</code>(__first+(n+(__last-__middle))%(__last-__first))=*(__first+n) for each <code>n</code> in the range <code></code>[0,__last-__first). </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l01434">1434</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gaf2a738ab86e393c9c8689708fd9afbf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf2a738ab86e393c9c8689708fd9afbf0">&#9670;&nbsp;</a></span>rotate_copy()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _OutputIterator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::rotate_copy </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__middle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy a sequence, rotating its elements. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__middle</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>Copies the elements of the range <code></code>[__first,__last) to the range beginning at </p><dl class="section return"><dt>Returns</dt><dd>, rotating the copied elements by <code></code>(__middle-__first) positions so that the element at <code>__middle</code> is moved to <code>__result</code>, the element at <code>__middle+1</code> is moved to <code>__result+1</code> and so on for each element in the range <code></code>[__first,__last).</dd></dl>
<p>Performs <code>*</code>(__result+(n+(__last-__middle))%(__last-__first))=*(__first+n) for each <code>n</code> in the range <code></code>[0,__last-__first). </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l01471">1471</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga9c197f83f8612241f91e0a44703fdeaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9c197f83f8612241f91e0a44703fdeaf">&#9670;&nbsp;</a></span>shuffle()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _RandomAccessIterator , typename _UniformRandomNumberGenerator &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void std::shuffle </td>
          <td>(</td>
          <td class="paramtype">_RandomAccessIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_RandomAccessIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_UniformRandomNumberGenerator &amp;&amp;&#160;</td>
          <td class="paramname"><em>__g</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Shuffle the elements of a sequence using a uniform random number generator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__g</td><td>A UniformRandomNumberGenerator (26.5.1.3). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nothing.</dd></dl>
<p>Reorders the elements in the range <code></code>[__first,__last) using <code>__g</code> to provide random numbers. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l03792">3792</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga4396b91f26c7aaf0ae150a79ebd965b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4396b91f26c7aaf0ae150a79ebd965b7">&#9670;&nbsp;</a></span>stable_partition()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _Predicate &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_ForwardIterator std::stable_partition </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Predicate&#160;</td>
          <td class="paramname"><em>__pred</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Move elements for which a predicate is true to the beginning of a sequence, preserving relative ordering. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__pred</td><td>A predicate functor. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator <code>middle</code> such that <code>__pred(i)</code> is true for each iterator <code>i</code> in the range <code></code>[first,middle) and false for each <code>i</code> in the range <code></code>[middle,last).</dd></dl>
<p>Performs the same function as <code>partition()</code> with the additional guarantee that the relative ordering of elements in each group is preserved, so any two elements <code>x</code> and <code>y</code> in the range <code></code>[__first,__last) such that <code>__pred(x)==__pred(y)</code> will have the same relative ordering after calling <code>stable_partition()</code>. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l01651">1651</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gae9603907c05659cb5cfc6ea20be9ae01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae9603907c05659cb5cfc6ea20be9ae01">&#9670;&nbsp;</a></span>swap_ranges()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator1 , typename _ForwardIterator2 &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">_ForwardIterator2 std::swap_ranges </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator1&#160;</td>
          <td class="paramname"><em>__first1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator1&#160;</td>
          <td class="paramname"><em>__last1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator2&#160;</td>
          <td class="paramname"><em>__first2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Swap the elements of two sequences. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first1</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last1</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__first2</td><td>A forward iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator equal to <code>first2+</code>(last1-first1).</dd></dl>
<p>Swaps each element in the range <code></code>[first1,last1) with the corresponding element in the range <code></code>[first2,(last1-first1)). The ranges must not overlap. </p>

<p class="definition">Definition at line <a class="el" href="a00530_source.html#l00166">166</a> of file <a class="el" href="a00530_source.html">stl_algobase.h</a>.</p>

</div>
</div>
<a id="ga475f12632a75f77b41aa843dfddfe422"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga475f12632a75f77b41aa843dfddfe422">&#9670;&nbsp;</a></span>transform() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator , typename _OutputIterator , typename _UnaryOperation &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::transform </td>
          <td>(</td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_UnaryOperation&#160;</td>
          <td class="paramname"><em>__unary_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Perform an operation on a sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
    <tr><td class="paramname">__unary_op</td><td>A unary operator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An output iterator equal to <code>__result+</code>(__last-__first).</dd></dl>
<p>Applies the operator to each element in the input range and assigns the results to successive elements of the output sequence. Evaluates <code>*</code>(__result+N)=unary_op(*(__first+N)) for each <code>N</code> in the range <code></code>[0,__last-__first).</p>
<p><code>unary_op</code> must not alter its argument. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l04293">4293</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga92e41473c3907d39cbc98ab6bea346fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga92e41473c3907d39cbc98ab6bea346fe">&#9670;&nbsp;</a></span>transform() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator1 , typename _InputIterator2 , typename _OutputIterator , typename _BinaryOperation &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::transform </td>
          <td>(</td>
          <td class="paramtype">_InputIterator1&#160;</td>
          <td class="paramname"><em>__first1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator1&#160;</td>
          <td class="paramname"><em>__last1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator2&#160;</td>
          <td class="paramname"><em>__first2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_BinaryOperation&#160;</td>
          <td class="paramname"><em>__binary_op</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Perform an operation on corresponding elements of two sequences. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first1</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last1</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__first2</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
    <tr><td class="paramname">__binary_op</td><td>A binary operator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An output iterator equal to <code>result+</code>(last-first).</dd></dl>
<p>Applies the operator to the corresponding elements in the two input ranges and assigns the results to successive elements of the output sequence. Evaluates <code>*</code>(__result+N)=__binary_op(*(__first1+N),*(__first2+N)) for each <code>N</code> in the range <code></code>[0,__last1-__first1).</p>
<p><code>binary_op</code> must not alter either of its arguments. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l04330">4330</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga84999f9a9f647b18e3ec9e9e9aaa81f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga84999f9a9f647b18e3ec9e9e9aaa81f4">&#9670;&nbsp;</a></span>unique() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_ForwardIterator std::unique </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove consecutive duplicate values from a sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>Removes all but the first element from each group of consecutive values that compare equal. unique() is stable, so the relative order of elements that are not removed is unchanged. Elements between the end of the resulting sequence and <code>__last</code> are still present, but their value is unspecified. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l00995">995</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga7db53d49590370140ef23f2c9bf7b225"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7db53d49590370140ef23f2c9bf7b225">&#9670;&nbsp;</a></span>unique() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ForwardIterator , typename _BinaryPredicate &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_ForwardIterator std::unique </td>
          <td>(</td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_ForwardIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_BinaryPredicate&#160;</td>
          <td class="paramname"><em>__binary_pred</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove consecutive values from a sequence using a predicate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>A forward iterator. </td></tr>
    <tr><td class="paramname">__binary_pred</td><td>A binary predicate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>Removes all but the first element from each group of consecutive values for which <code>__binary_pred</code> returns true. unique() is stable, so the relative order of elements that are not removed is unchanged. Elements between the end of the resulting sequence and <code>__last</code> are still present, but their value is unspecified. </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l01025">1025</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="ga6e0563edcc7414a3f1ee52d1c3e9e1e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6e0563edcc7414a3f1ee52d1c3e9e1e0">&#9670;&nbsp;</a></span>unique_copy() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator , typename _OutputIterator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::unique_copy </td>
          <td>(</td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy a sequence, removing consecutive duplicate values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>Copies each element in the range <code></code>[__first,__last) to the range beginning at <code>__result</code>, except that only the first element is copied from groups of consecutive elements that compare equal. unique_copy() is stable, so the relative order of elements that are copied is unchanged.</p>
<p>_GLIBCXX_RESOLVE_LIB_DEFECTS DR 241. Does unique_copy() require CopyConstructible and Assignable?</p>
<p>_GLIBCXX_RESOLVE_LIB_DEFECTS DR 538. 241 again: Does unique_copy() require CopyConstructible and Assignable? </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l04493">4493</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
<a id="gae33ff01e114f7384a462a242a75dd311"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae33ff01e114f7384a462a242a75dd311">&#9670;&nbsp;</a></span>unique_copy() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _InputIterator , typename _OutputIterator , typename _BinaryPredicate &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_OutputIterator std::unique_copy </td>
          <td>(</td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_InputIterator&#160;</td>
          <td class="paramname"><em>__last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_OutputIterator&#160;</td>
          <td class="paramname"><em>__result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_BinaryPredicate&#160;</td>
          <td class="paramname"><em>__binary_pred</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy a sequence, removing consecutive values using a predicate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">__first</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__last</td><td>An input iterator. </td></tr>
    <tr><td class="paramname">__result</td><td>An output iterator. </td></tr>
    <tr><td class="paramname">__binary_pred</td><td>A binary predicate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An iterator designating the end of the resulting sequence.</dd></dl>
<p>Copies each element in the range <code></code>[__first,__last) to the range beginning at <code>__result</code>, except that only the first element is copied from groups of consecutive elements for which <code>__binary_pred</code> returns true. unique_copy() is stable, so the relative order of elements that are copied is unchanged.</p>
<p>_GLIBCXX_RESOLVE_LIB_DEFECTS DR 241. Does unique_copy() require CopyConstructible and Assignable? </p>

<p class="definition">Definition at line <a class="el" href="a00527_source.html#l04534">4534</a> of file <a class="el" href="a00527_source.html">stl_algo.h</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>