Skip to content

Commit 6be998f

Browse files
committed
Introduce [parallel.simd.mask.ctor]
1 parent 2d7ad38 commit 6be998f

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

data_parallel_types.html

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2520,6 +2520,58 @@ <h1><ins>Class template <code>simd_mask</code> overview</ins></h1>
25202520
</ins>
25212521
</p>
25222522
</cxx-section>
2523+
2524+
<cxx-section id="parallel.simd.mask.ctor">
2525+
<h1><ins><code>simd_mask</code> constructors</ins></h1>
2526+
2527+
<cxx-function>
2528+
<cxx-signature><ins>explicit simd_mask(value_type x) noexcept</ins></cxx-signature>
2529+
2530+
<cxx-effects>
2531+
<ins>
2532+
Constructs an object with each element initialized to <code>x</code>.
2533+
</ins>
2534+
</cxx-effects>
2535+
</cxx-function>
2536+
2537+
<cxx-function>
2538+
<cxx-signature><ins>template&lt;class U&gt; simd_mask(const simd_mask&lt;U, simd_abi::fixed_size&lt;size()&gt;&gt;& x) noexcept;</ins></cxx-signature>
2539+
2540+
<cxx-effects>
2541+
<ins>
2542+
Constructs an object of type <code>simd_mask</code> where the <em>i</em>-th element equals <code>x[i]</code> for all <code>i</code> &#8714; <code>[0, size())</code>.
2543+
</ins>
2544+
</cxx-effects>
2545+
2546+
<cxx-remarks>
2547+
<ins>
2548+
This constructor shall not participate in overload resolution unless <code>abi_type</code> is <code>simd_abi::fixed_size&lt;size()&gt;</code>.
2549+
</ins>
2550+
</cxx-remarks>
2551+
</cxx-function>
2552+
2553+
<cxx-function>
2554+
<cxx-signature><ins>template&lt;class Flags&gt; simd_mask(const value_type* mem, Flags);</ins></cxx-signature>
2555+
2556+
<cxx-requires>
2557+
<ins>
2558+
If the template parameter <code>Flags</code> is <code>vector_aligned_tag</code>, <code>mem</code> shall point to storage aligned by <code>memory_alignment_v&lt;simd_mask&gt;</code>. If the template parameter <code>Flags</code> is <code>overaligned_tag&lt;N&gt;</code>, <code>mem</code> shall point to storage aligned by <code>N</code>. If the template parameter <code>Flags</code> is <code>element_aligned_tag</code>, <code>mem</code> shall point to storage aligned by <code>alignof(U)</code>. <code>[mem, mem + size())</code> is a valid range.
2559+
</ins>
2560+
</cxx-requires>
2561+
2562+
<cxx-effects>
2563+
<ins>
2564+
Constructs an object where the <em>i</em>-th element is initialized to <code>mem[i]</code> for all <code>i</code> &#8714; <code>[0, size())</code>.
2565+
</ins>
2566+
</cxx-effects>
2567+
2568+
<cxx-remarks>
2569+
<ins>
2570+
This constructor shall not participate in overload resolution unless <code>is_simd_flag_type_v&lt;Flags&gt;</code> is <code>true</code>.
2571+
</ins>
2572+
</cxx-remarks>
2573+
</cxx-function>
2574+
</cxx-section>
25232575
</cxx-section>
25242576
</cxx-section>
25252577
</cxx-clause>

0 commit comments

Comments
 (0)