<code class="function">sched_yield</code> functions, used in the
implementation of [thread.thread.this] of the 2011 ISO C++ standard.
The choice OPTION=yes checks for the availability of the facilities
- in libc and libposix4. In case it's needed the latter is also linked
- to libstdc++ as part of the build process. OPTION=rt also checks in
+ in libc. OPTION=rt also checks in
librt (and, if it's needed, links to it). Note that linking to librt
is not always desirable because for glibc it requires linking to
libpthread too, which causes all reference counting to use atomic
</td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_atomic_ref >= 201806L</code> </td></tr><tr><td align="left"> Floating Point Atomic </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0020r6.html" target="_top">
P0020R6 </a>
- </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_atomic_float >= 201711L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> C++ Synchronized Buffered Ostream </td><td align="left">
+ </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_atomic_float >= 201711L</code> </td></tr><tr><td align="left"> C++ Synchronized Buffered Ostream </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0053r7.pdf" target="_top">
P0053R7 </a>
- </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_syncbuf >= 201711L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Manipulators for C++ Synchronized Buffered Ostream </td><td align="left">
+ </td><td align="center"> 11 </td><td align="left"> <code class="code">__cpp_lib_syncbuf >= 201711L</code> </td></tr><tr><td align="left"> Manipulators for C++ Synchronized Buffered Ostream </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0753r2.pdf" target="_top">
P0753R2 </a>
- </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_syncbuf >= 201803L</code> </td></tr><tr><td align="left"> Make <code class="code">std::memory_order</code> a scoped enumeration </td><td align="left">
+ </td><td align="center"> 11 </td><td align="left"> <code class="code">__cpp_lib_syncbuf >= 201803L</code> </td></tr><tr><td align="left"> Make <code class="code">std::memory_order</code> a scoped enumeration </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0439r0.html" target="_top">
P0439R0 </a>
</td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange </td><td align="left">
</td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Thou Shalt Not Specialize std Function Templates! </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0551r3.pdf" target="_top">
P0551R3 </a>
- </td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Bit-casting object representations </td><td align="left">
+ </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> Bit-casting object representations </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0476r2.html" target="_top">
P0476R2 </a>
- </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_bit_cast >= 201806L</code> </td></tr><tr><td align="left"> Integral power-of-2 operations </td><td align="left">
+ </td><td align="center"> 11 </td><td align="left"> <code class="code">__cpp_lib_bit_cast >= 201806L</code> </td></tr><tr><td align="left"> Integral power-of-2 operations </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0556r3.html" target="_top">
P0556R3 </a>
</td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_int_pow2 >= 201806L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> On the names of low-level bit manipulation functions </td><td align="left">
</td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_interpolate >= 201902L</code> </td></tr><tr><td align="left"> Mathematical constants </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0631r8.pdf" target="_top">
P0631R8 </a>
- </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_math_constants >= 201907L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> std::source_location </td><td align="left">
+ </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_math_constants >= 201907L</code> </td></tr><tr><td align="left"> std::source_location </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1208r6.pdf" target="_top">
P1208R6 </a>
- </td><td align="center"> </td><td align="left">
+ </td><td align="center"> 11 </td><td align="left">
<code class="code">__cpp_lib_source_location >= 201907L</code>
- </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Efficient access to std::basic_stringbuf's Buffer </td><td align="left">
+ </td></tr><tr><td align="left"> Efficient access to std::basic_stringbuf's Buffer </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0408r7.pdf" target="_top">
P0408R7 </a>
- </td><td align="center"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
+ </td><td align="center"> 11 </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
Note 1: This feature is supported in older releases but the
<code class="code">__cpp_lib</code> macro is not defined to the right value
(or not defined at all) until the version shown in parentheses.
</row>
<row>
- <?dbhtml bgcolor="#C8B0B0" ?>
<entry> C++ Synchronized Buffered Ostream </entry>
<entry>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0053r7.pdf">
P0053R7 </link>
</entry>
- <entry align="center"> </entry>
+ <entry align="center"> 11 </entry>
<entry> <code>__cpp_lib_syncbuf >= 201711L</code> </entry>
</row>
<row>
- <?dbhtml bgcolor="#C8B0B0" ?>
<entry> Manipulators for C++ Synchronized Buffered Ostream </entry>
<entry>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0753r2.pdf">
P0753R2 </link>
</entry>
- <entry align="center"> </entry>
+ <entry align="center"> 11 </entry>
<entry> <code>__cpp_lib_syncbuf >= 201803L</code> </entry>
</row>
</row>
<row>
- <?dbhtml bgcolor="#C8B0B0" ?>
<entry> Bit-casting object representations </entry>
<entry>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0476r2.html">
P0476R2 </link>
</entry>
- <entry align="center"> </entry>
+ <entry align="center"> 11 </entry>
<entry> <code>__cpp_lib_bit_cast >= 201806L</code> </entry>
</row>
</row>
<row>
- <?dbhtml bgcolor="#C8B0B0" ?>
<entry> std::source_location </entry>
<entry>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1208r6.pdf">
P1208R6 </link>
</entry>
- <entry align="center"> </entry>
+ <entry align="center"> 11 </entry>
<entry>
<code>__cpp_lib_source_location >= 201907L</code>
</entry>
</row>
<row>
- <?dbhtml bgcolor="#C8B0B0" ?>
<entry> Efficient access to std::basic_stringbuf's Buffer </entry>
<entry>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0408r7.pdf">
P0408R7 </link>
</entry>
- <entry align="center"> </entry>
+ <entry align="center"> 11 </entry>
<entry />
</row>