1
0
forked from boostorg/mp11

Rename mp_for_index_c to mp_for_index

This commit is contained in:
Peter Dimov
2017-05-31 23:18:08 +03:00
parent 1bd4b670ce
commit 3cce995877
4 changed files with 10 additions and 19 deletions

View File

@@ -148,7 +148,6 @@
<dt><span class="section"><a href="mp11.html#mp11.reference.algorithm.mp_none_of_l_p"><code class="computeroutput"><span class="identifier">mp_none_of</span><span class="special">&lt;</span><span class="identifier">L</span><span class="special">,</span> <span class="identifier">P</span><span class="special">&gt;</span></code></a></span></dt> <dt><span class="section"><a href="mp11.html#mp11.reference.algorithm.mp_none_of_l_p"><code class="computeroutput"><span class="identifier">mp_none_of</span><span class="special">&lt;</span><span class="identifier">L</span><span class="special">,</span> <span class="identifier">P</span><span class="special">&gt;</span></code></a></span></dt>
<dt><span class="section"><a href="mp11.html#mp11.reference.algorithm.mp_any_of_l_p"><code class="computeroutput"><span class="identifier">mp_any_of</span><span class="special">&lt;</span><span class="identifier">L</span><span class="special">,</span> <span class="identifier">P</span><span class="special">&gt;</span></code></a></span></dt> <dt><span class="section"><a href="mp11.html#mp11.reference.algorithm.mp_any_of_l_p"><code class="computeroutput"><span class="identifier">mp_any_of</span><span class="special">&lt;</span><span class="identifier">L</span><span class="special">,</span> <span class="identifier">P</span><span class="special">&gt;</span></code></a></span></dt>
<dt><span class="section"><a href="mp11.html#mp11.reference.algorithm.mp_for_each_l_f"><code class="computeroutput"><span class="identifier">mp_for_each</span><span class="special">&lt;</span><span class="identifier">L</span><span class="special">&gt;(</span><span class="identifier">f</span><span class="special">)</span></code></a></span></dt> <dt><span class="section"><a href="mp11.html#mp11.reference.algorithm.mp_for_each_l_f"><code class="computeroutput"><span class="identifier">mp_for_each</span><span class="special">&lt;</span><span class="identifier">L</span><span class="special">&gt;(</span><span class="identifier">f</span><span class="special">)</span></code></a></span></dt>
<dt><span class="section"><a href="mp11.html#mp11.reference.algorithm.mp_for_index_c_n_i_f"><code class="computeroutput"><span class="identifier">mp_for_index_c</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code></a></span></dt>
<dt><span class="section"><a href="mp11.html#mp11.reference.algorithm.mp_for_index_n_i_f"><code class="computeroutput"><span class="identifier">mp_for_index</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code></a></span></dt> <dt><span class="section"><a href="mp11.html#mp11.reference.algorithm.mp_for_index_n_i_f"><code class="computeroutput"><span class="identifier">mp_for_index</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code></a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="section"><a href="mp11.html#mp11.reference.set">Set Operations, <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">mp11</span><span class="special">/</span><span class="identifier">set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt> <dt><span class="section"><a href="mp11.html#mp11.reference.set">Set Operations, <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">mp11</span><span class="special">/</span><span class="identifier">set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
@@ -2040,25 +2039,20 @@
</div> </div>
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="mp11.reference.algorithm.mp_for_index_c_n_i_f"></a><a class="link" href="mp11.html#mp11.reference.algorithm.mp_for_index_c_n_i_f" title="mp_for_index_c&lt;N&gt;(i, f)"><code class="computeroutput"><span class="identifier">mp_for_index_c</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code></a> <a name="mp11.reference.algorithm.mp_for_index_n_i_f"></a><a class="link" href="mp11.html#mp11.reference.algorithm.mp_for_index_n_i_f" title="mp_for_index&lt;N&gt;(i, f)"><code class="computeroutput"><span class="identifier">mp_for_index</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code></a>
</h4></div></div></div> </h4></div></div></div>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span> <span class="keyword">decltype</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;()(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special">&lt;</span><span class="identifier">mp_size_t</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;&gt;()))</span> <span class="identifier">mp_for_index</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">F</span> <span class="special">&amp;&amp;</span> <span class="identifier">f</span> <span class="special">);</span> <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span> <span class="keyword">decltype</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;()(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special">&lt;</span><span class="identifier">mp_size_t</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;&gt;()))</span> <span class="identifier">mp_for_index</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">F</span> <span class="special">&amp;&amp;</span> <span class="identifier">f</span> <span class="special">);</span>
</pre> </pre>
<p> <p>
<code class="computeroutput"><span class="identifier">mp_for_index_c</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code> calls <code class="computeroutput"><span class="identifier">f</span></code> <code class="computeroutput"><span class="identifier">mp_for_index</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code> calls <code class="computeroutput"><span class="identifier">f</span></code>
with <code class="computeroutput"><span class="identifier">mp_size_t</span><span class="special">&lt;</span><span class="identifier">i</span><span class="special">&gt;()</span></code> with <code class="computeroutput"><span class="identifier">mp_size_t</span><span class="special">&lt;</span><span class="identifier">i</span><span class="special">&gt;()</span></code>
and returns the result. <code class="computeroutput"><span class="identifier">i</span></code> and returns the result. <code class="computeroutput"><span class="identifier">i</span></code>
must be less than <code class="computeroutput"><span class="identifier">N</span></code>. must be less than <code class="computeroutput"><span class="identifier">N</span></code>.
</p> </p>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="mp11.reference.algorithm.mp_for_index_n_i_f"></a><a class="link" href="mp11.html#mp11.reference.algorithm.mp_for_index_n_i_f" title="mp_for_index&lt;N&gt;(i, f)"><code class="computeroutput"><span class="identifier">mp_for_index</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code></a>
</h4></div></div></div>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span> <span class="keyword">decltype</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;()(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special">&lt;</span><span class="identifier">mp_size_t</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;&gt;()))</span> <span class="identifier">mp_for_index</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">F</span> <span class="special">&amp;&amp;</span> <span class="identifier">f</span> <span class="special">);</span> <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span> <span class="keyword">decltype</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;()(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special">&lt;</span><span class="identifier">mp_size_t</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;&gt;()))</span> <span class="identifier">mp_for_index</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">F</span> <span class="special">&amp;&amp;</span> <span class="identifier">f</span> <span class="special">);</span>
</pre> </pre>
<p> <p>
Returns <code class="computeroutput"><span class="identifier">mp_for_index_c</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>. Returns <code class="computeroutput"><span class="identifier">mp_for_index</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>.
</p> </p>
</div> </div>
</div> </div>
@@ -2529,7 +2523,7 @@
</div> </div>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: May 31, 2017 at 16:52:56 GMT</small></p></td> <td align="left"><p><small>Last revised: May 31, 2017 at 20:15:36 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td> <td align="right"><div class="copyright-footer"></div></td>
</tr></table> </tr></table>
<hr> <hr>

View File

@@ -289,16 +289,14 @@ is `mp_size<L>`.
Returns `std::forward<F>(f)`. Returns `std::forward<F>(f)`.
[endsect] [endsect]
[section `mp_for_index_c<N>(i, f)`] [section `mp_for_index<N>(i, f)`]
template<std::size_t N, class F> decltype(std::declval<F>()(std::declval<mp_size_t<0>>())) mp_for_index( std::size_t i, F && f ); template<std::size_t N, class F> decltype(std::declval<F>()(std::declval<mp_size_t<0>>())) mp_for_index( std::size_t i, F && f );
`mp_for_index_c<N>(i, f)` calls `f` with `mp_size_t<i>()` and returns the result. `i` must be less than `N`. `mp_for_index<N>(i, f)` calls `f` with `mp_size_t<i>()` and returns the result. `i` must be less than `N`.
[endsect]
[section `mp_for_index<N>(i, f)`]
template<class N, class F> decltype(std::declval<F>()(std::declval<mp_size_t<0>>())) mp_for_index( std::size_t i, F && f ); template<class N, class F> decltype(std::declval<F>()(std::declval<mp_size_t<0>>())) mp_for_index( std::size_t i, F && f );
Returns `mp_for_index_c<N::value>(i, f)`. Returns `mp_for_index<N::value>(i, f)`.
[endsect] [endsect]
[endsect:algorithm] [endsect:algorithm]

View File

@@ -348,7 +348,7 @@ template<> struct mp_for_index_impl_<16>
} // namespace detail } // namespace detail
template<std::size_t N, class F> inline decltype(std::declval<F>()(std::declval<mp_size_t<0>>())) mp_for_index_c( std::size_t i, F && f ) template<std::size_t N, class F> inline decltype(std::declval<F>()(std::declval<mp_size_t<0>>())) mp_for_index( std::size_t i, F && f )
{ {
assert( i < N ); assert( i < N );
return detail::mp_for_index_impl_<N>::template call<0>( i, std::forward<F>(f) ); return detail::mp_for_index_impl_<N>::template call<0>( i, std::forward<F>(f) );
@@ -356,7 +356,7 @@ template<std::size_t N, class F> inline decltype(std::declval<F>()(std::declval<
template<class N, class F> inline decltype(std::declval<F>()(std::declval<mp_size_t<0>>())) mp_for_index( std::size_t i, F && f ) template<class N, class F> inline decltype(std::declval<F>()(std::declval<mp_size_t<0>>())) mp_for_index( std::size_t i, F && f )
{ {
return mp_for_index_c<N::value>( i, std::forward<F>(f) ); return mp_for_index<N::value>( i, std::forward<F>(f) );
} }
} // namespace mp11 } // namespace mp11

View File

@@ -16,7 +16,6 @@
using boost::mp11::mp_size_t; using boost::mp11::mp_size_t;
using boost::mp11::mp_for_each; using boost::mp11::mp_for_each;
using boost::mp11::mp_for_index; using boost::mp11::mp_for_index;
using boost::mp11::mp_for_index_c;
using boost::mp11::mp_iota_c; using boost::mp11::mp_iota_c;
struct F struct F
@@ -42,7 +41,7 @@ struct G
{ {
for( std::size_t i = 0; i < N; ++i ) for( std::size_t i = 0; i < N; ++i )
{ {
mp_for_index_c<N>( i, F(i) ); mp_for_index<N>( i, F(i) );
mp_for_index<mp_size_t<N>>( i, F(i) ); mp_for_index<mp_size_t<N>>( i, F(i) );
} }
} }