Files
hustoj/web/cppreference-zh/chmhelp/cpp-header-numeric.html
2025-08-01 12:57:54 +08:00

395 lines
32 KiB
HTML

<!DOCTYPE html>
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>&#26631;&#20934;&#24211;&#22836;&#25991;&#20214; &lt;numeric&gt;</title>
<link rel="stylesheet" href="ext.css" />
<link rel="stylesheet" href="site_modules.css" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_header_numeric skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading"><span style="font-size:0.7em; line-height:130%">&#26631;&#20934;&#24211;&#22836;&#25991;&#20214;</span> &lt;numeric&gt;</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-header.html">header</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p>&#27492;&#22836;&#25991;&#20214;&#26159;<a href="cpp-numeric.html">&#25968;&#20540;</a>&#24211;&#30340;&#19968;&#37096;&#20998;&#12290;</p>
<table class="t-dsc-begin">
<tr>
<td colspan="2">
<h3><span class="mw-headline" id=".E5.87.BD.E6.95.B0">&#20989;&#25968;</span></h3>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-iota.html"><span class="t-lines"><span>iota</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#29992;&#20174;&#36215;&#22987;&#20540;&#24320;&#22987;&#36830;&#32493;&#36882;&#22686;&#30340;&#20540;&#22635;&#20805;&#19968;&#20010;&#33539;&#22260;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-accumulate.html"><span class="t-lines"><span>accumulate</span></span></a></div>
</div>
</td>
<td>&#23545;&#19968;&#20010;&#33539;&#22260;&#20869;&#30340;&#20803;&#32032;&#27714;&#21644;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-reduce.html"><span class="t-lines"><span>reduce</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div>
</td>
<td>&#31867;&#20284; <span class="t-lc"><a href="cpp-algorithm-accumulate.html">std::accumulate</a></span>&#65292;&#20294;&#19981;&#20381;&#24207;&#25191;&#34892;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-transform_reduce.html"><span class="t-lines"><span>transform_reduce</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div>
</td>
<td>&#24212;&#29992;&#19968;&#20010;&#20989;&#25968;&#23545;&#35937;&#65292;&#28982;&#21518;&#20197;&#20081;&#24207;&#35268;&#32422;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-inner_product.html"><span class="t-lines"><span>inner_product</span></span></a></div>
</div>
</td>
<td>&#35745;&#31639;&#20004;&#20010;&#33539;&#22260;&#30340;&#20803;&#32032;&#30340;&#20869;&#31215;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-adjacent_difference.html"><span class="t-lines"><span>adjacent_difference</span></span></a></div>
</div>
</td>
<td>&#35745;&#31639;&#33539;&#22260;&#20869;&#21508;&#30456;&#37051;&#20803;&#32032;&#20043;&#38388;&#30340;&#24046;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-partial_sum.html"><span class="t-lines"><span>partial_sum</span></span></a></div>
</div>
</td>
<td>&#35745;&#31639;&#33539;&#22260;&#20869;&#20803;&#32032;&#30340;&#37096;&#20998;&#21644;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-inclusive_scan.html"><span class="t-lines"><span>inclusive_scan</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div>
</td>
<td>&#31867;&#20284; <span class="t-lc"><a href="cpp-algorithm-partial_sum.html">std::partial_sum</a></span>&#65292;&#31532; i &#20010;&#21644;&#20013;&#21253;&#21547;&#31532; i &#20010;&#36755;&#20837;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-exclusive_scan.html"><span class="t-lines"><span>exclusive_scan</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div>
</td>
<td>&#31867;&#20284; <span class="t-lc"><a href="cpp-algorithm-partial_sum.html">std::partial_sum</a></span>&#65292;&#31532; i &#20010;&#21644;&#20013;&#25490;&#38500;&#31532; i &#20010;&#36755;&#20837;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-transform_inclusive_scan.html"><span class="t-lines"><span>transform_inclusive_scan</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div>
</td>
<td>&#24212;&#29992;&#19968;&#20010;&#20989;&#25968;&#23545;&#35937;&#65292;&#28982;&#21518;&#36827;&#34892;&#21253;&#21547;&#25195;&#25551;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-algorithm-transform_exclusive_scan.html"><span class="t-lines"><span>transform_exclusive_scan</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div>
</td>
<td>&#24212;&#29992;&#19968;&#20010;&#20989;&#25968;&#23545;&#35937;&#65292;&#28982;&#21518;&#36827;&#34892;&#25490;&#38500;&#25195;&#25551;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-gcd.html"><span class="t-lines"><span>gcd</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div>
</td>
<td>&#36820;&#22238;&#20108;&#20010;&#25972;&#25968;&#26368;&#22823;&#20844;&#32422;&#25968;&#30340; <code>constexpr</code> &#20989;&#25968;&#27169;&#26495;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-lcm.html"><span class="t-lines"><span>lcm</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div>
</td>
<td>&#36820;&#22238;&#20108;&#20010;&#25972;&#25968;&#26368;&#23567;&#20844;&#20493;&#25968;&#30340; <code>constexpr</code> &#20989;&#25968;&#27169;&#26495;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-midpoint.html"><span class="t-lines"><span>midpoint</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
</div>
</td>
<td>&#20004;&#20010;&#25968;&#20540;&#25110;&#25351;&#38024;&#38388;&#30340;&#20013;&#28857;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E6.A6.82.E8.A6.81">&#27010;&#35201;</span></h3>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="co1">// &#32047;&#21152;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T accumulate<span class="br0">(</span>InputIt first, InputIt last, T init<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> T, <span class="kw1">class</span> BinaryOperation<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T accumulate<span class="br0">(</span>InputIt first, InputIt last, T init, BinaryOperation binary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#35268;&#32422;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> <span class="kw1">typename</span> iterator_traits<span class="sy1">&lt;</span>InputIt<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">value_type</span>
reduce<span class="br0">(</span>InputIt first, InputIt last<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T reduce<span class="br0">(</span>InputIt first, InputIt last, T init<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> T, <span class="kw1">class</span> BinaryOperation<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T reduce<span class="br0">(</span>InputIt first, InputIt last, T init, BinaryOperation binary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy, <span class="kw1">class</span> ForwardIt<span class="sy1">&gt;</span>
<span class="kw1">typename</span> iterator_traits<span class="sy1">&lt;</span>ForwardIt<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">value_type</span>
reduce<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt first, ForwardIt last<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy, <span class="kw1">class</span> ForwardIt, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
T reduce<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt first, ForwardIt last, T init<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy, <span class="kw1">class</span> ForwardIt, <span class="kw1">class</span> T, <span class="kw1">class</span> BinaryOperation<span class="sy1">&gt;</span>
T reduce<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt first, ForwardIt last, T init, BinaryOperation binary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#20869;&#31215;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt1, <span class="kw1">class</span> InputIt2, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T inner_product<span class="br0">(</span>InputIt1 first1, InputIt1 last1,
InputIt2 first2, T init<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt1, <span class="kw1">class</span> InputIt2, <span class="kw1">class</span> T,
<span class="kw1">class</span> BinaryOperation1, <span class="kw1">class</span> BinaryOperation2<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T inner_product<span class="br0">(</span>InputIt1 first1, InputIt1 last1,
InputIt2 first2, T init,
BinaryOperation1 binary_op1,
BinaryOperation2 binary_op2<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#21464;&#25442;&#35268;&#32422;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt1, <span class="kw1">class</span> InputIt2, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T transform_reduce<span class="br0">(</span>InputIt1 first1, InputIt1 last1,
InputIt2 first2,
T init<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt1, <span class="kw1">class</span> InputIt2, <span class="kw1">class</span> T,
<span class="kw1">class</span> BinaryOperation1, <span class="kw1">class</span> BinaryOperation2<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T transform_reduce<span class="br0">(</span>InputIt1 first1, InputIt1 last1,
InputIt2 first2,
T init,
BinaryOperation1 binary_op1,
BinaryOperation2 binary_op2<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> T,
<span class="kw1">class</span> BinaryOperation, <span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T transform_reduce<span class="br0">(</span>InputIt first, InputIt last,
T init,
BinaryOperation binary_op, UnaryOperation unary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy,
<span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
T transform_reduce<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first1, ForwardIt1 last1,
ForwardIt2 first2,
T init<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy,
<span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2, <span class="kw1">class</span> T,
<span class="kw1">class</span> BinaryOperation1, <span class="kw1">class</span> BinaryOperation2<span class="sy1">&gt;</span>
T transform_reduce<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first1, ForwardIt1 last1,
ForwardIt2 first2,
T init,
BinaryOperation1 binary_op1,
BinaryOperation2 binary_op2<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy,
<span class="kw1">class</span> ForwardIt, <span class="kw1">class</span> T,
<span class="kw1">class</span> BinaryOperation, <span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
T transform_reduce<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt first, ForwardIt last,
T init,
BinaryOperation binary_op, UnaryOperation unary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#37096;&#20998;&#21644;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt partial_sum<span class="br0">(</span>InputIt first,
InputIt last,
OutputIt result<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt, <span class="kw1">class</span> BinaryOperation<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt partial_sum<span class="br0">(</span>InputIt first,
InputIt last,
OutputIt result,
BinaryOperation binary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#25490;&#38500;&#25195;&#25551;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt exclusive_scan<span class="br0">(</span>InputIt first, InputIt last,
OutputIt result,
T init<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt, <span class="kw1">class</span> T, <span class="kw1">class</span> BinaryOperation<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt exclusive_scan<span class="br0">(</span>InputIt first, InputIt last,
OutputIt result,
T init, BinaryOperation binary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy, <span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
ForwardIt2 exclusive_scan<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first, ForwardIt1 last,
ForwardIt2 result,
T init<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy, <span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2, <span class="kw1">class</span> T,
<span class="kw1">class</span> BinaryOperation<span class="sy1">&gt;</span>
ForwardIt2 exclusive_scan<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first, ForwardIt1 last,
ForwardIt2 result,
T init, BinaryOperation binary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#21253;&#21547;&#25195;&#25551;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt inclusive_scan<span class="br0">(</span>InputIt first, InputIt last, OutputIt result<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt, <span class="kw1">class</span> BinaryOperation<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt inclusive_scan<span class="br0">(</span>InputIt first, InputIt last,
OutputIt result,
BinaryOperation binary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt, <span class="kw1">class</span> BinaryOperation, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt inclusive_scan<span class="br0">(</span>InputIt first, InputIt last,
OutputIt result,
BinaryOperation binary_op, T init<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy, <span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2<span class="sy1">&gt;</span>
ForwardIt2 inclusive_scan<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first, ForwardIt1 last,
ForwardIt2 result<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy, <span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2,
<span class="kw1">class</span> BinaryOperation<span class="sy1">&gt;</span>
ForwardIt2 inclusive_scan<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first, ForwardIt1 last,
ForwardIt2 result,
BinaryOperation binary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy, <span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2,
<span class="kw1">class</span> BinaryOperation, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
ForwardIt2 inclusive_scan<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first, ForwardIt1 last,
ForwardIt2 result,
BinaryOperation binary_op, T init<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#21464;&#25442;&#25490;&#38500;&#25195;&#25551;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt, <span class="kw1">class</span> T,
<span class="kw1">class</span> BinaryOperation, <span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt transform_exclusive_scan<span class="br0">(</span>InputIt first, InputIt last,
OutputIt result,
T init,
BinaryOperation binary_op,
UnaryOperation unary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy,
<span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2, <span class="kw1">class</span> T,
<span class="kw1">class</span> BinaryOperation, <span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
ForwardIt2 transform_exclusive_scan<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first, ForwardIt1 last,
ForwardIt2 result,
T init,
BinaryOperation binary_op,
UnaryOperation unary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#21464;&#25442;&#21253;&#21547;&#25195;&#25551;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt,
<span class="kw1">class</span> BinaryOperation, <span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt transform_inclusive_scan<span class="br0">(</span>InputIt first, InputIt last,
OutputIt result,
BinaryOperation binary_op,
UnaryOperation unary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt,
<span class="kw1">class</span> BinaryOperation, <span class="kw1">class</span> UnaryOperation, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt transform_inclusive_scan<span class="br0">(</span>InputIt first, InputIt last,
OutputIt result,
BinaryOperation binary_op,
UnaryOperation unary_op,
T init<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy,
<span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2,
<span class="kw1">class</span> BinaryOperation, <span class="kw1">class</span> UnaryOperation<span class="sy1">&gt;</span>
ForwardIt2 transform_inclusive_scan<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first, ForwardIt1 last,
ForwardIt2 result,
BinaryOperation binary_op,
UnaryOperation unary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy,
<span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2,
<span class="kw1">class</span> BinaryOperation, <span class="kw1">class</span> UnaryOperation, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
ForwardIt2 transform_inclusive_scan<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first, ForwardIt1 last,
ForwardIt2 result,
BinaryOperation binary_op,
UnaryOperation unary_op,
T init<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#30456;&#37051;&#24046;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt adjacent_difference<span class="br0">(</span>InputIt first, InputIt last,
OutputIt result<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> InputIt, <span class="kw1">class</span> OutputIt, <span class="kw1">class</span> BinaryOperation<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> OutputIt adjacent_difference<span class="br0">(</span>InputIt first, InputIt last,
OutputIt result,
BinaryOperation binary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy, <span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2<span class="sy1">&gt;</span>
ForwardIt2 adjacent_difference<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first, ForwardIt1 last,
ForwardIt2 result<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ExecutionPolicy, <span class="kw1">class</span> ForwardIt1, <span class="kw1">class</span> ForwardIt2,
<span class="kw1">class</span> BinaryOperation<span class="sy1">&gt;</span>
ForwardIt2 adjacent_difference<span class="br0">(</span>ExecutionPolicy<span class="sy3">&amp;&amp;</span> exec,
ForwardIt1 first, ForwardIt1 last,
ForwardIt2 result,
BinaryOperation binary_op<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// iota</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> ForwardIt, <span class="kw1">class</span> T<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> <span class="kw4">void</span> iota<span class="br0">(</span>ForwardIt first, ForwardIt last, T value<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#26368;&#22823;&#20844;&#32422;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> M, <span class="kw1">class</span> N<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> common_type_t<span class="sy1">&lt;</span>M, N<span class="sy1">&gt;</span> gcd<span class="br0">(</span>M m, N n<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#26368;&#23567;&#20844;&#20493;&#25968;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> M, <span class="kw1">class</span> N<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> common_type_t<span class="sy1">&lt;</span>M, N<span class="sy1">&gt;</span> lcm<span class="br0">(</span>M m, N n<span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#20013;&#28857;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> T<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T midpoint<span class="br0">(</span>T a, T b<span class="br0">)</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">class</span> T<span class="sy1">&gt;</span>
<span class="kw4">constexpr</span> T<span class="sy2">*</span> midpoint<span class="br0">(</span>T<span class="sy2">*</span> a, T<span class="sy2">*</span> b<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>