Skip to content

Commit fc83079

Browse files
committed
Complete [parallel.simd.copy
1 parent dd654bb commit fc83079

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

data_parallel_types.html

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1383,6 +1383,38 @@ <h1><ins><code>simd</code> copy functions</ins></h1>
13831383
</ins>
13841384
</cxx-remarks>
13851385
</cxx-function>
1386+
1387+
<cxx-function>
1388+
<cxx-signature><ins>template&lt;class U, class Flags&gt; void copy_to(U* mem, Flags) const;</ins></cxx-signature>
1389+
1390+
<cxx-requires>
1391+
<ins>
1392+
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, U&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.
1393+
</ins>
1394+
</cxx-requires>
1395+
1396+
<cxx-effects>
1397+
<ins>
1398+
Copies all <code>simd</code> elements as if <code>mem[i] = static_cast&lt;U&gt;(operator[](i))</code> for all <code>i</code> &#8714; <code>[0, size())</code>.
1399+
</ins>
1400+
</cxx-effects>
1401+
1402+
<cxx-remarks>
1403+
<ins>
1404+
This function shall not participate in overload resolution unless
1405+
1406+
<bl>
1407+
<li>
1408+
<code>is_simd_flag_type_v&lt;Flags&gt;</code> is <code>true</code>, and
1409+
</li>
1410+
1411+
<li>
1412+
<code>U</code> is a vectorizable type.
1413+
</li>
1414+
</bl>
1415+
</ins>
1416+
</cxx-remarks>
1417+
</cxx-function>
13861418
</cxx-section>
13871419
</cxx-section>
13881420
</cxx-clause>

0 commit comments

Comments
 (0)