Skip to content

Commit bb27407

Browse files
committed
Introduce [parallel.simd.mask.where]
1 parent f634e30 commit bb27407

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

data_parallel_types.html

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2878,6 +2878,67 @@ <h1><ins><code>simd_mask</code> compound assignment</ins></h1>
28782878
</cxx-remarks>
28792879
</cxx-function>
28802880
</cxx-section>
2881+
2882+
<cxx-section id="parallel.simd.mask.where">
2883+
<h1><ins>Where functions</ins></h1>
2884+
2885+
<cxx-function>
2886+
<cxx-signature><ins>
2887+
template&lt;class T, class Abi&gt;
2888+
where_expression&lt;simd_mask&lt;T, Abi&gt;, simd&lt;T, Abi&gt;&gt; where(const typename simd&lt;T, Abi&gt;::mask_type& k,
2889+
simd&lt;T, Abi&gt;& v) noexcept;
2890+
template&lt;class T, class Abi&gt;
2891+
const_where_expression&lt;simd_mask&lt;T, Abi&gt;, simd&lt;T, Abi&gt;&gt; where(const typename simd&lt;T, Abi&gt;::mask_type& k,
2892+
const simd&lt;T, Abi&gt;& v) noexcept;
2893+
template&lt;class T, class Abi&gt;
2894+
where_expression&lt;simd_mask&lt;T, Abi&gt;, simd_mask&lt;T, Abi&gt;&gt; where(const nodeduce_t&lt;simd_mask&lt;T, Abi&gt;&gt;& k,
2895+
simd_mask&lt;T, Abi&gt;& v) noexcept;
2896+
template&lt;class T, class Abi&gt;
2897+
const_where_expression&lt;simd_mask&lt;T, Abi&gt;, simd_mask&lt;T, Abi&gt;&gt; where(const nodeduce_t&lt;simd_mask&lt;T, Abi&gt;&gt;& k,
2898+
const simd_mask&lt;T, Abi&gt;& v) noexcept;
2899+
</ins></cxx-signature>
2900+
2901+
<cxx-returns>
2902+
<ins>
2903+
An object <a href="#parallel.simd.wherexpr">[parallel.simd.wherexpr]</a> with <code>mask</code> and <code>data</code> initialized with <code>k</code> and <code>v</code> respectively.
2904+
</ins>
2905+
</cxx-returns>
2906+
</cxx-function>
2907+
2908+
<cxx-function>
2909+
<cxx-signature><ins>
2910+
template&lt;class T&gt; where_expression&lt;bool T&gt; where(<em>see-below</em> k, T& v) noexcept;
2911+
template&lt;class T&gt;
2912+
const_where_expression&lt;bool, T&gt; where(<em>see-below</em> k, const T& v) noexcept;
2913+
</ins></cxx-signature>
2914+
2915+
<cxx-remarks>
2916+
<ins>
2917+
The functions shall not participate in overload resolution unles
2918+
2919+
<bl>
2920+
<li>
2921+
<ins>
2922+
<code>T</code> is neither a <code>simd</code> nor a <code>simd_mask</code> specialization, and
2923+
</ins>
2924+
</li>
2925+
2926+
<li>
2927+
<ins>
2928+
the first argument is of type <code>bool</code>.
2929+
</ins>
2930+
</li>
2931+
</bl>
2932+
</ins>
2933+
</cxx-remarks>
2934+
2935+
<cxx-returns>
2936+
<ins>
2937+
And object <a href="#parallel.simd.whereexpr">[parallel.simd.whereexpr]</a> with <code>mask</code> and <code>data</code> initialized with <code>k</code> and <code>v</code> respectively.
2938+
</ins>
2939+
</cxx-returns>
2940+
</cxx-function>
2941+
</cxx-section>
28812942
</cxx-section>
28822943
</cxx-clause>
28832944

0 commit comments

Comments
 (0)