mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			998 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			XML
		
	
	
	
			
		
		
	
	
			998 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			XML
		
	
	
	
<section xmlns="http://docbook.org/ns/docbook" version="5.0" 
 | 
						|
	 xml:id="status.iso.201z" xreflabel="Status C++ 201z">
 | 
						|
<?dbhtml filename="status_iso_cxx201z.html"?>
 | 
						|
 | 
						|
<info><title>C++ 201z</title>
 | 
						|
  <keywordset>
 | 
						|
    <keyword>ISO C++</keyword>
 | 
						|
    <keyword>201z</keyword>
 | 
						|
  </keywordset>
 | 
						|
</info>
 | 
						|
 | 
						|
<para>
 | 
						|
In this implementation the <literal>-std=gnu++1z</literal> or
 | 
						|
<literal>-std=c++1z</literal> flag must be used to enable language
 | 
						|
and library
 | 
						|
features. See <link linkend="manual.intro.using.flags">dialect</link>
 | 
						|
options. The pre-defined symbol
 | 
						|
<constant>__cplusplus</constant> is used to check for the
 | 
						|
presence of the required flag.
 | 
						|
</para>
 | 
						|
 | 
						|
<para>
 | 
						|
This section describes the C++1z and library TS support in mainline GCC SVN,
 | 
						|
not in any particular release.
 | 
						|
</para>
 | 
						|
 | 
						|
<para>
 | 
						|
The following table lists new library features that have been accepted into
 | 
						|
the C++1z working draft. The "Proposal" column provides a link to the
 | 
						|
ISO C++ committee proposal that describes the feature, while the "Status"
 | 
						|
column indicates the first version of GCC that contains an implementation of
 | 
						|
this feature (if it has been implemented).
 | 
						|
The "SD-6 Feature Test" column shows the corresponding macro or header from
 | 
						|
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations">SD-6:
 | 
						|
Feature-testing recommendations for C++</link>.
 | 
						|
</para>
 | 
						|
 | 
						|
<table frame="all" xml:id="table.cxx1z_status">
 | 
						|
<title>C++ 201z Implementation Status</title>
 | 
						|
 | 
						|
<tgroup cols="4" align="left" colsep="0" rowsep="1">
 | 
						|
<colspec colname="c1"/>
 | 
						|
<colspec colname="c2"/>
 | 
						|
<colspec colname="c3"/>
 | 
						|
<colspec colname="c4"/>
 | 
						|
  <thead>
 | 
						|
    <row>
 | 
						|
      <entry>Library Feature</entry>
 | 
						|
      <entry>Proposal</entry>
 | 
						|
      <entry>Status</entry>
 | 
						|
      <entry>SD-6 Feature Test</entry>
 | 
						|
    </row>
 | 
						|
  </thead>
 | 
						|
 | 
						|
  <tbody>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry>
 | 
						|
	<code>constexpr std::hardware_{constructive,destructive}_interference_size</code>
 | 
						|
      </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html">
 | 
						|
	P0154R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry> <code>__cpp_lib_hardware_interference_size >= 201603</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry> Core Issue 1776: Replacement of class objects containing reference members</entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0137r1.html">
 | 
						|
	P0137R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry> <code>__cpp_lib_launder >= 201606</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>Wording for <code>std::uncaught_exceptions</code></entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n4259.pdf">
 | 
						|
	  N4259
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center">6.1</entry>
 | 
						|
      <entry><code>__cpp_lib_uncaught_exceptions >= 201411</code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Variant: a type-safe union for C++17 </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0088r3.html">
 | 
						|
	P0088R3
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry> <code>__has_include(<variant>)</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Library Fundamentals V1 TS Components: <code>optional</code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html">
 | 
						|
	P0220R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry> <code>__has_include(<optional>)</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Library Fundamentals V1 TS Components: <code>any</code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html">
 | 
						|
	P0220R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry> <code>__has_include(<any>)</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Library Fundamentals V1 TS Components: <code>string_view</code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html">
 | 
						|
	P0220R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry> <code>__has_include(<string_view>)</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry> Library Fundamentals V1 TS Components: <code>memory_resource</code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html">
 | 
						|
	P0220R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry> <code>__has_include(<memory_resource>)</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Library Fundamentals V1 TS Components: <code>apply</code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html">
 | 
						|
	P0220R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry> <code>__cpp_lib_apply >= 201603</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry> Library Fundamentals V1 TS Components: <code>shared_ptr<T[]></code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html">
 | 
						|
	P0220R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry> <code>__cpp_lib_shared_ptr_arrays >= 201603</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Library Fundamentals V1 TS Components: Searchers </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html">
 | 
						|
	P0220R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry> <code>__cpp_lib_boyer_moore_searcher >= 201603</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Library Fundamentals V1 TS Components: Sampling </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html">
 | 
						|
	P0220R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry> <code>__cpp_lib_sample >= 201603</code> </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Constant View: A proposal for a <code>std::as_const</code> helper function template	</entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="">
 | 
						|
	P0007R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_as_const >= 201510 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Improving pair and tuple </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387">
 | 
						|
	N4387
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 6.1 </entry>
 | 
						|
      <entry> N/A </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> <code>make_from_tuple</code>: apply for construction </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0209r2.pdf">
 | 
						|
	P0209R2
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_make_from_tuple >= 201606 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry>
 | 
						|
        Removing <code>auto_ptr</code>, <code>random_shuffle()</code>,
 | 
						|
        And Old <code><functional></code> Stuff
 | 
						|
      </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190.htm">
 | 
						|
	  N4190
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center">No (kept for backwards compatibility)</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry> Deprecating Vestigial Library Parts in C++17 </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html">
 | 
						|
	P0174R2
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Making <code>std::owner_less</code> more flexible </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0074r0.html">
 | 
						|
	P0074R0
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_transparent_operators >= 201510 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> <code>std::addressof</code> should be constexpr </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0304r0.html#2296">
 | 
						|
	LWG2296
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_addressof_constexpr >= 201603 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Safe conversions in <code>unique_ptr<T[]></code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4089.pdf">
 | 
						|
	N4089
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 5 ? </entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> LWG 2228: Missing SFINAE rule in unique_ptr templated assignment </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4366.html">
 | 
						|
	  N4366
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 5 ? </entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Re-enabling <code>shared_from_this</code></entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0033r1.html">
 | 
						|
	P0033R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code>__cpp_lib_enable_shared_from_this >= 201603</code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> A proposal to add <code>invoke</code> function template </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4169.html">
 | 
						|
	N4169
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 6.1 </entry>
 | 
						|
      <entry><code> __cpp_lib_invoke >= 201411 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>TriviallyCopyable <code>reference_wrapper</code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4277.html">
 | 
						|
	  N4277
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 5.1 </entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Adopt <code>not_fn</code> from Library Fundamentals 2 for C++17 </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0005r4.html">
 | 
						|
	P0005R4
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code>__cpp_lib_not_fn >= 201603</code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Fixes for <code>not_fn</code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0358r1.html">
 | 
						|
	P0358R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Fixing a design mistake in the searchers interface in Library Fundamentals </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0253r1.pdf">
 | 
						|
	P0253R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Extending memory management tools </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0040r3.html">
 | 
						|
	P0040R3
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> <code>shared_ptr::weak_type</code></entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0163r0.html">
 | 
						|
	P0163R0
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_shared_ptr_weak_type >= 201606</code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>Transformation Trait Alias <code>void_t</code></entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n3911.pdf">
 | 
						|
	  N3911
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center">6.1</entry>
 | 
						|
      <entry><code> __cpp_lib_void_t >= 201411</code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Wording for <code>bool_constant</code>, revision 1 </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4389.html">
 | 
						|
	  N4389
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center">6.1</entry>
 | 
						|
      <entry><code> __cpp_lib_bool_constant >= 201505</code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Adopt Type Traits Variable Templates from Library Fundamentals TS for C++17</entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0006r0.html">
 | 
						|
	P0006R0
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_type_trait_variable_templates >= 201510 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Logical Operator Type Traits</entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0013r1.html">
 | 
						|
	P0013R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 6.1 </entry>
 | 
						|
      <entry><code> __cpp_lib_logical_traits >= 201510 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Adding [nothrow-]swappable traits </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0185r1.html">
 | 
						|
	P0185R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 (<code>__is_swappable</code> available since 6.1)</entry>
 | 
						|
      <entry><code> __cpp_lib_is_swappable >= 201603 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> <code>is_callable</code>, the missing INVOKE related trait</entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0077r2.html">
 | 
						|
	P0077R2
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_is_callable >= 201603 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> has_unique_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/2016/p0258r2.html">
 | 
						|
	P0258R2
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_has_unique_object_representations >= 201606 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry> Ordered by default </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0181r1.html">
 | 
						|
	P0181R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry><code> __cpp_lib_default_order >= 201606</code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Polishing <code><chrono></code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0092r1.html">
 | 
						|
	P0092R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_chrono >= 201510 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Integrating <code>std::string_view</code> and <code>std::string</code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0254r2.pdf">
 | 
						|
	P0254R2
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Give 'std::string' a non-const '.data()' member function </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0272r1.html">
 | 
						|
	P0272R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>Cleaning-up noexcept in the Library</entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4258.pdf">
 | 
						|
	  N4258
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center">6.1</entry>
 | 
						|
      <entry><code> __cpp_lib_allocator_traits_is_always_equal >= 201411 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>Contiguous Iterators </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4284.htm">
 | 
						|
	  N4284
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center">N/A</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Minimal incomplete type support for standard containers </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4510.html">
 | 
						|
	N4510
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 6.2 (3.0)</entry>
 | 
						|
      <entry><code> __cpp_lib_incomplete_container_elements >= 201505 </code>
 | 
						|
	     (the feature was always supported, but the macro was not defined until GCC 6.2)
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry> Emplace return type </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0084r2.pdf">
 | 
						|
	P0084R2
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>Improved insertion interface for unique-key maps</entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4279.html">
 | 
						|
	  N4279
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 6.1 </entry>
 | 
						|
      <entry><code> __cpp_lib_map_try_emplace >= 201411</code>,
 | 
						|
	     <code> __cpp_lib_unordered_map_try_emplace >= 201411</code>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Splicing Maps and Sets </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0083r3.pdf">
 | 
						|
	P0083R3
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_node_extract >= 201606 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>Non-member <code>size()</code> and more</entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4280.pdf">
 | 
						|
	  N4280
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 6.1 </entry>
 | 
						|
      <entry><code> __cpp_lib_nonmember_container_access >= 201411 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> A Proposal to Add Constexpr Modifiers to <code>reverse_iterator</code>, <code>move_iterator</code>, <code>array</code> and Range Access </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0031r0.html">
 | 
						|
	P0031R0
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_array_constexpr >= 201603 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry> The Parallelism TS Should be Standardized	 </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0024r2.html">
 | 
						|
	P0024R2
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry><code> __has_include(<execution>) </code>,
 | 
						|
	     <code> __cpp_lib_parallel_algorithm >= 201603 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> An algorithm to "clamp" a value between a pair of boundary values </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0025r0.html">
 | 
						|
	P0025R0
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_clamp >= 201603 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Adopt Selected Library Fundamentals V2 Components for C++17 </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0295r0.pdf">
 | 
						|
	P0295R0
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_gcd >= 201606 </code>,
 | 
						|
	     <code> __cpp_lib_lcm >= 201606 </code>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Proposal to Introduce a 3-Argument Overload to <code>std::hypot</code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0030r1.pdf">
 | 
						|
	P0030R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_hypot >= 201603 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> Mathematical Special Functions for C++17 </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0226r1.pdf">
 | 
						|
	P0226R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 (6.1) </entry>
 | 
						|
      <entry><code> __cpp_lib_math_special_functions >= 201603 </code>
 | 
						|
	     (for GCC 6 or pre-C++17 define
 | 
						|
	     <code>__STDCPP_WANT_MATH_SPEC_FUNCS__</code> to a non-zero value
 | 
						|
	     and test for <code>__STDCPP_MATH_SPEC_FUNCS__ >= 201003L</code>)
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry>Adopt the File System TS for C++17	 </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r1.html">
 | 
						|
	P0218R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry><code> __has_include(<filesystem>) </code>,
 | 
						|
	     <code> __cpp_lib_filesystem >= 201603 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry> Relative Paths for Filesystem</entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0219r1.html">
 | 
						|
	P0219R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry> Adapting string_view by filesystem paths </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0392r0.pdf">
 | 
						|
	P0392R0
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry> constexpr <code>atomic<T>::is_always_lock_free</code>	 </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0152r1.html">
 | 
						|
	P0152R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 7 </entry>
 | 
						|
      <entry><code> __cpp_lib_atomic_is_always_lock_free >= 201603 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>A proposal to add <code>shared_mutex</code> (untimed) (Revision 4)</entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4508.html">
 | 
						|
	  N4508
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> 6.1 </entry>
 | 
						|
      <entry><code> __cpp_lib_shared_mutex >= 201505 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry> Variadic <code>lock_guard</code> </entry>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0156r0.html">
 | 
						|
	P0156R0
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry align="center"> No </entry>
 | 
						|
      <entry><code> __cpp_lib_lock_guard_variadic >= 201510 </code></entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
  </tbody>
 | 
						|
</tgroup>
 | 
						|
</table>
 | 
						|
 | 
						|
 | 
						|
<table frame="all" xml:id="table.cxx1z_ts_status">
 | 
						|
<title>C++ Technical Specifications Implementation Status</title>
 | 
						|
 | 
						|
<tgroup cols="4" align="left" colsep="0" rowsep="1">
 | 
						|
<colspec colname="c1"/>
 | 
						|
<colspec colname="c2"/>
 | 
						|
<colspec colname="c3"/>
 | 
						|
<colspec colname="c4"/>
 | 
						|
  <thead>
 | 
						|
    <row>
 | 
						|
      <entry>Paper</entry>
 | 
						|
      <entry>Title</entry>
 | 
						|
      <entry>Status</entry>
 | 
						|
      <entry>Comments</entry>
 | 
						|
    </row>
 | 
						|
  </thead>
 | 
						|
 | 
						|
  <tbody>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4076.html">
 | 
						|
	  N4076
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry>A generalized callable negator</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4273.htm">
 | 
						|
	  N4273
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry>Uniform Container Erasure</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4061.pdf">
 | 
						|
	  N4061
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry>Greatest Common Divisor and Least Common Multiple</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4066.htm">
 | 
						|
	  N4066
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry>Delimited iterators</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4282.pdf">
 | 
						|
	  N4282
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry>The World's Dumbest Smart Pointer</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4388.html">
 | 
						|
	  N4388
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry>Const-Propagating Wrapper</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4391.html">
 | 
						|
	  N4391
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry> <code>make_array</code>, revision 4 </entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4502.pdf">
 | 
						|
	  N4502
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry> Support for the C++ Detection Idiom, V2 </entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4519.pdf">
 | 
						|
	  N4519
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry> Source-Code Information Capture </entry>
 | 
						|
      <entry>N</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4521.html">
 | 
						|
	  N4521
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry> Merge Fundamentals V1 into V2 </entry>
 | 
						|
      <entry>N</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://open-std.org/JTC1/SC22/WG21/docs/papers/2015/p0013r1.html">
 | 
						|
	  P0013R1
 | 
						|
	</link>
 | 
						|
      </entry>
 | 
						|
      <entry>Logical Operator Type Traits (revision 1)</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry>Library Fundamentals 2 TS</entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
 | 
						|
  </tbody>
 | 
						|
</tgroup>
 | 
						|
</table>
 | 
						|
 | 
						|
<section xml:id="iso.2017.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info>
 | 
						|
 | 
						|
   <para>For behaviour which is also specified by previous standards,
 | 
						|
      see <link linkend="iso.1998.specific">C++ 1998/2003 Implementation
 | 
						|
      Specific Behavior</link> and <link linkend="iso.2011.specific">C++
 | 
						|
      2011 Implementation Specific Behavior</link>. This section only
 | 
						|
      documents behaviour which is new in the 2017 standard.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>20.6.5 [optional.bad_optional_access]</emphasis>
 | 
						|
      <code>what()</code> returns <literal>"bad optional access"</literal>.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>20.7.2 [variant.variant]</emphasis>
 | 
						|
      Whether <classname>variant</classname> supports over-aligned types
 | 
						|
      should be documented here.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>20.7.10 [variant.bad.access]</emphasis>
 | 
						|
      <code>what()</code> returns <literal>"Unexpected index"</literal>.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>20.12.5.2 [memory.resource.pool.options]</emphasis>
 | 
						|
      The limits for maximum number of blocks and largest allocation size
 | 
						|
      supported by <classname>pool_options</classname> should be documented
 | 
						|
      here.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>20.12.6.1 [memory.resource.monotonic.buffer.ctor]</emphasis>
 | 
						|
      The default <code>next_buffer_size</code> and growth factor should
 | 
						|
      be documented here.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>20.15.4.3 [meta.unary.prop]</emphasis>
 | 
						|
      The predicate condition for
 | 
						|
      <code>has_unique_object_representations</code> is true for all scalar
 | 
						|
      types except floating point types.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>20.19.3 [execpol.type],
 | 
						|
      25.2.3 [algorithms.parallel.exec]</emphasis>
 | 
						|
      There are no implementation-defined execution policies.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>22.4.2 [string.view.template]</emphasis>
 | 
						|
      <classname>basic_string_view<C, T>::iterator</classname> is
 | 
						|
      <code>C*</code> and
 | 
						|
      <classname>basic_string_view<C, T>::const_iterator</classname> is
 | 
						|
      <code>const C*</code>.
 | 
						|
   </para>
 | 
						|
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>25.2.3 [algorithms.parallel.exec]</emphasis>
 | 
						|
      Threads of execution created by <classname>std::thread</classname>
 | 
						|
      provide concurrent forward progress guarantees, so threads of execution
 | 
						|
      implicitly created by the library will provide parallel forward
 | 
						|
      progress guarantees.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>26.4.1 [cfenv.syn]</emphasis>
 | 
						|
      The effects of the <filename><cfenv></filename> functions
 | 
						|
      depends on whether the <code>FENV_ACCESS</code> pragma is supported,
 | 
						|
      and on the C library that provides the header.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>26.6.9 [c.math.rand]</emphasis>
 | 
						|
      Whether the <function>rand</function> function may introduce data
 | 
						|
      races depends on the target C library that provides the function.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>26.9.5 [sf.cmath]</emphasis>
 | 
						|
      The effect of calling the mathematical special functions with large
 | 
						|
      inputs should be documented here.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>27.10.2.1 [fs.conform.9945]</emphasis>
 | 
						|
      The behavior of the filesystem library implementation will depend on
 | 
						|
      the target operating system. Some features will not be not supported
 | 
						|
      on some targets.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>27.10.6 [fs.filesystem.syn]</emphasis>
 | 
						|
      The clock used for file times is
 | 
						|
      <classname>std::chrono::system_clock</classname>.
 | 
						|
   </para>
 | 
						|
 | 
						|
   <para>
 | 
						|
      <emphasis>27.10.8 [path.generic]</emphasis>
 | 
						|
      dot-dot in the root-directory refers to the root-directory itself.
 | 
						|
   </para>
 | 
						|
 | 
						|
 | 
						|
</section>
 | 
						|
 | 
						|
</section>
 |