You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The class template <code>simd_mask</code> is a data-parallel type with the element type <code>bool</code>. The width of a given <code>simd_mask</code> specialization is a constant expression, determined by the template parameters. Specifically, <code>simd_mask<T, Abi>::size() == simd<T, Abi>::size()</code>.
2463
+
</ins>
2464
+
</p>
2465
+
2466
+
<p>
2467
+
<ins>
2468
+
Every specialization of <code>simd_mask</code> shall be a complete type. The specialization <code>simd_mask<T, Abi></code> is supported if <code>T</code> is a vectorizable type and
2469
+
2470
+
<bl>
2471
+
<li>
2472
+
<ins>
2473
+
<code>Abi</code> is <code>simd_abi::scalar</code>, or
2474
+
</ins>
2475
+
</li>
2476
+
2477
+
<li>
2478
+
<ins>
2479
+
<code>Abi</code> is <code>simd_abi::fixed_size<N></code>, with <code>N</code> constrained as defined in <ahref="#parallel.simd.abi">[parallel.simd.abi]</a>.
2480
+
</ins>
2481
+
</li>
2482
+
</bl>
2483
+
2484
+
<ins>
2485
+
If <code>Abi</code> is an extended ABI tag, it is implementation-defined whether <code>simd_mask<T, Abi></code> is supported. <cxx-note>The intent is for implementations to decide on the basis of the currently targeted system.</cxx-note>
2486
+
If <code>simd_mask<T, Abi></code> is not supported, the specialization shall have a deleted default constructor, deleted destructor, deleted copy constructor, and deleted copy assignment.
2487
+
</ins>
2488
+
</ins>
2489
+
<br>
2490
+
2491
+
<p>
2492
+
<ins>
2493
+
Default initialization performs no intialization of the elements; value-initialization initializes each element with <code>false</code>. <cxx-note>Thus, default initialization leaves the elements in an indeterminate state.</cxx-note>
Implementations should enable explicit conversion from and to implementation-defined types. This adds one or more of the following declarations to class <code>simd_mask</code>:
The member type <code>reference</code> has the same interface as <code>simd<T, Abi>::reference</code>, except its <code>value_type</code> is <code>bool</code>. (<ahref="#parallel.simd.reference">[parallel.simd.reference]</a>)
0 commit comments