mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			1158 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			XML
		
	
	
	
			
		
		
	
	
			1158 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			XML
		
	
	
	
<section xmlns="http://docbook.org/ns/docbook" version="5.0" 
 | 
						|
	 xml:id="status.iso.1998" xreflabel="ISO C++ 1998">
 | 
						|
<?dbhtml filename="status_iso_cxx1998.html"?>
 | 
						|
 | 
						|
<info><title>C++ 1998/2003</title>
 | 
						|
  <keywordset>
 | 
						|
    <keyword>ISO C++</keyword>
 | 
						|
    <keyword>1998</keyword>
 | 
						|
  </keywordset>
 | 
						|
</info>
 | 
						|
 | 
						|
 | 
						|
<section xml:id="iso.1998.status" xreflabel="Implementation Status">
 | 
						|
<info><title>Implementation Status</title></info>  
 | 
						|
 | 
						|
<para>
 | 
						|
This status table is based on the table of contents of ISO/IEC 14882:2003.
 | 
						|
</para>
 | 
						|
 | 
						|
<para>
 | 
						|
This page describes the C++ support in mainline GCC SVN, not in any
 | 
						|
particular release.
 | 
						|
</para>
 | 
						|
 | 
						|
<!-- Status is Yes or No, Broken/Partial-->
 | 
						|
<!--
 | 
						|
   Yes
 | 
						|
 | 
						|
   No
 | 
						|
      <?dbhtml bgcolor="#C8B0B0" ?>
 | 
						|
   Broken/Partial
 | 
						|
      <?dbhtml bgcolor="#B0B0B0" ?>
 | 
						|
-->
 | 
						|
<table frame="all" xml:id="table.cxx98_status">
 | 
						|
  <title>C++ 1998/2003 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>Section</entry>
 | 
						|
      <entry>Description</entry>
 | 
						|
      <entry>Status</entry>
 | 
						|
      <entry>Comments</entry>
 | 
						|
    </row>
 | 
						|
  </thead>
 | 
						|
 | 
						|
  <tbody>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<emphasis>18</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>Language support</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
 | 
						|
    <row>
 | 
						|
      <entry>18.1</entry>
 | 
						|
      <entry>Types</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.2</entry>
 | 
						|
      <entry>Implementation properties</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.2.1</entry>
 | 
						|
      <entry>Numeric Limits</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.2.1.1</entry>
 | 
						|
      <entry>Class template <code>numeric_limits</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.2.1.2</entry>
 | 
						|
      <entry><code>numeric_limits</code> members</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.2.1.3</entry>
 | 
						|
      <entry><code>float_round_style</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.2.1.4</entry>
 | 
						|
      <entry><code>float_denorm_style</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.2.1.5</entry>
 | 
						|
      <entry><code>numeric_limits</code> specializations</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.2.2</entry>
 | 
						|
      <entry>C Library</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.3</entry>
 | 
						|
      <entry>Start and termination</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.4</entry>
 | 
						|
      <entry>Dynamic memory management</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.5</entry>
 | 
						|
      <entry>Type identification</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.5.1</entry>
 | 
						|
      <entry>Class type_info</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.5.2</entry>
 | 
						|
      <entry>Class bad_cast</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.5.3</entry>
 | 
						|
      <entry>Class bad_typeid</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.6</entry>
 | 
						|
      <entry>Exception handling</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.6.1</entry>
 | 
						|
      <entry>Class exception</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.6.2</entry>
 | 
						|
      <entry>Violation exception-specifications</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.6.3</entry>
 | 
						|
      <entry>Abnormal termination</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.6.4</entry>
 | 
						|
      <entry><code>uncaught_exception</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>18.7</entry>
 | 
						|
      <entry>Other runtime support</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<emphasis>19</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>Diagnostics</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>19.1</entry>
 | 
						|
      <entry>Exception classes</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>19.2</entry>
 | 
						|
      <entry>Assertions</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>19.3</entry>
 | 
						|
      <entry>Error numbers</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<emphasis>20</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>General utilities</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.1</entry>
 | 
						|
      <entry>Requirements</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
   <row>
 | 
						|
      <entry>20.2</entry>
 | 
						|
      <entry>Utility components</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.2.1</entry>
 | 
						|
      <entry>Operators</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.2.2</entry>
 | 
						|
      <entry><code>pair</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
   <row>
 | 
						|
      <entry>20.3</entry>
 | 
						|
      <entry>Function objects</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.3.1</entry>
 | 
						|
      <entry>Base</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.3.2</entry>
 | 
						|
      <entry>Arithmetic operation</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.3.3</entry>
 | 
						|
      <entry>Comparisons</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.3.4</entry>
 | 
						|
      <entry>Logical operations</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.3.5</entry>
 | 
						|
      <entry>Negators</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.3.6</entry>
 | 
						|
      <entry>Binders</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.3.7</entry>
 | 
						|
      <entry>Adaptors for pointers to functions</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.3.8</entry>
 | 
						|
      <entry>Adaptors for pointers to members</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.4</entry>
 | 
						|
      <entry>Memory</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.4.1</entry>
 | 
						|
      <entry>The default allocator</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.4.2</entry>
 | 
						|
      <entry>Raw storage iterator</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.4.3</entry>
 | 
						|
      <entry>Temporary buffers</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.4.4</entry>
 | 
						|
      <entry>Specialized algorithms</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.4.4.1</entry>
 | 
						|
      <entry><code>uninitialized_copy</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.4.4.2</entry>
 | 
						|
      <entry><code>uninitialized_fill</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.4.4.3</entry>
 | 
						|
      <entry><code>uninitialized_fill_n</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.4.5</entry>
 | 
						|
      <entry>Class template <code>auto_ptr</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>20.4.6</entry>
 | 
						|
      <entry>C library</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<emphasis>21</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>Strings</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>21.1</entry>
 | 
						|
      <entry>Character traits</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>21.1.1</entry>
 | 
						|
      <entry>Character traits requirements</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>21.1.2</entry>
 | 
						|
      <entry>traits typedef</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>21.1.3</entry>
 | 
						|
      <entry><code>char_traits</code> specializations</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>21.1.3.1</entry>
 | 
						|
      <entry>struct <code>char_traits<char></code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>21.1.3.2</entry>
 | 
						|
      <entry>struct <code>char_traits<wchar_t></code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>21.2</entry>
 | 
						|
      <entry>String classes</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>21.3</entry>
 | 
						|
      <entry>Class template <code>basic_string</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>21.4</entry>
 | 
						|
      <entry>Null-terminated sequence utilities</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry>C library dependency</entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
      	<emphasis>22</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>Localization</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.1</entry>
 | 
						|
      <entry>Locales</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.1.1</entry>
 | 
						|
      <entry>Class <code>locale</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.1.2</entry>
 | 
						|
      <entry><code>locale</code> globals</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.1.3</entry>
 | 
						|
      <entry>Convenience interfaces</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.1.3.1</entry>
 | 
						|
      <entry>Character classification</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.1.3.2</entry>
 | 
						|
      <entry>Character conversions</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2</entry>
 | 
						|
      <entry>Standard locale categories</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.1</entry>
 | 
						|
      <entry><code>ctype</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.2</entry>
 | 
						|
      <entry>Numeric</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.2.1</entry>
 | 
						|
      <entry><code>num_get</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.2.2</entry>
 | 
						|
      <entry><code>num_put</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.3</entry>
 | 
						|
      <entry><code>num_punct</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.4</entry>
 | 
						|
      <entry><code>collate</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.5</entry>
 | 
						|
      <entry>Time</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.5.1</entry>
 | 
						|
      <entry><code>time_get</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.5.2</entry>
 | 
						|
      <entry><code>time_get_byname</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.5.3</entry>
 | 
						|
      <entry><code>time_put</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.5.3</entry>
 | 
						|
      <entry><code>time_put_byname</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.6</entry>
 | 
						|
      <entry>Monetary</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.6.1</entry>
 | 
						|
      <entry><code>money_get</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.6.2</entry>
 | 
						|
      <entry><code>money_put</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.6.3</entry>
 | 
						|
      <entry><code>money_punct</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.6.4</entry>
 | 
						|
      <entry><code>money_punct_byname</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.7</entry>
 | 
						|
      <entry><code>messages</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.2.8</entry>
 | 
						|
      <entry>Program-defined facets</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>22.3</entry>
 | 
						|
      <entry>C Library Locales</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<emphasis>23</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>Containers</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.1</entry>
 | 
						|
      <entry>Container requirements</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.2</entry>
 | 
						|
      <entry>Sequence containers</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.2.1</entry>
 | 
						|
      <entry>Class template <code>deque</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.2.2</entry>
 | 
						|
      <entry>Class template <code>list</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.2.3</entry>
 | 
						|
      <entry>Adaptors</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.2.3.1</entry>
 | 
						|
      <entry>Class template <code>queue</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.2.3.2</entry>
 | 
						|
      <entry>Class template <code>priority_queue</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.2.3.3</entry>
 | 
						|
      <entry>Class template <code>stack</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.2.4</entry>
 | 
						|
      <entry>Class template <code>vector</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.2.5</entry>
 | 
						|
      <entry>Class <code>vector<bool></code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.3</entry>
 | 
						|
      <entry>Associative containers</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.3.1</entry>
 | 
						|
      <entry>Class template <code>map</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.3.2</entry>
 | 
						|
      <entry>Class template <code>multimap</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.3.3</entry>
 | 
						|
      <entry>Class template <code>set</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>23.3.4</entry>
 | 
						|
      <entry>Class template <code>multiset</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<emphasis>24</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>Iterators</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.1</entry>
 | 
						|
      <entry>Requirements</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.2</entry>
 | 
						|
      <entry>Header <code><iterator></code> synopsis</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.3</entry>
 | 
						|
      <entry>Iterator primitives</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.4</entry>
 | 
						|
      <entry>Predefined iterators and Iterator adaptors</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.4.1</entry>
 | 
						|
      <entry>Reverse iterators</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.4.2</entry>
 | 
						|
      <entry>Insert iterators</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.5</entry>
 | 
						|
      <entry>Stream iterators</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.5.1</entry>
 | 
						|
      <entry>Class template <code>istream_iterator</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.5.2</entry>
 | 
						|
      <entry>Class template <code>ostream_iterator</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.5.3</entry>
 | 
						|
      <entry>Class template <code>istreambuf_iterator</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>24.5.4</entry>
 | 
						|
      <entry>Class template <code>ostreambuf_iterator</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<emphasis>25</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>Algorithms</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>25.1</entry>
 | 
						|
      <entry>Non-modifying sequence operations</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>25.2</entry>
 | 
						|
      <entry>Mutating sequence operations</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>25.3</entry>
 | 
						|
      <entry>Sorting and related operations</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>25.4</entry>
 | 
						|
      <entry>C library algorithms</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
      <emphasis>26</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>Numerics</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.1</entry>
 | 
						|
      <entry>Numeric type requirements</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.2</entry>
 | 
						|
      <entry>Complex numbers</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.3</entry>
 | 
						|
      <entry>Numeric arrays</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.3.1</entry>
 | 
						|
      <entry>Header <code><valarray></code> synopsis</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.3.2</entry>
 | 
						|
      <entry>Class template <code>valarray</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.3.3</entry>
 | 
						|
      <entry><code>valarray</code> non-member operations</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.3.4</entry>
 | 
						|
      <entry>Class <code>slice</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.3.5</entry>
 | 
						|
      <entry>Class template <code>slice_array</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.3.6</entry>
 | 
						|
      <entry>Class <code>gslice</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.3.7</entry>
 | 
						|
      <entry>Class template <code>gslice_array</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.3.8</entry>
 | 
						|
      <entry>Class template <code>mask_array</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.3.9</entry>
 | 
						|
      <entry>Class template <code>indirect_array</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.4</entry>
 | 
						|
      <entry>Generalized numeric operations</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.4.1</entry>
 | 
						|
      <entry><code>accumulate</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.4.2</entry>
 | 
						|
      <entry><code>inner_product</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.4.3</entry>
 | 
						|
      <entry><code>partial_sum</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.4.4</entry>
 | 
						|
      <entry><code>adjacent_difference</code></entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.4.5</entry>
 | 
						|
      <entry>iota</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>26.5</entry>
 | 
						|
      <entry>C Library</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
	<emphasis>27</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>Input/output</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>27.1</entry>
 | 
						|
      <entry>Requirements</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>27.2</entry>
 | 
						|
      <entry>Forward declarations</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>27.3</entry>
 | 
						|
      <entry>Standard iostream objects</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>27.3.1</entry>
 | 
						|
      <entry>Narrow stream objects</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>27.3.2</entry>
 | 
						|
      <entry>Wide stream objects</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>27.4</entry>
 | 
						|
      <entry>Iostreams base classes</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>27.5</entry>
 | 
						|
      <entry>Stream buffers</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>27.6</entry>
 | 
						|
      <entry>Formatting and manipulators</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>27.7</entry>
 | 
						|
      <entry>String-based streams</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>27.8</entry>
 | 
						|
      <entry>File-based streams</entry>
 | 
						|
      <entry>Y</entry>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>
 | 
						|
      	<emphasis>Appendix D</emphasis>
 | 
						|
      </entry>
 | 
						|
      <entry namest="c2" nameend="c4" align="left">
 | 
						|
	<emphasis>Compatibility features</emphasis>
 | 
						|
      </entry>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>D.1</entry>
 | 
						|
      <entry>Increment operator with bool operand</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>D.2</entry>
 | 
						|
      <entry><code>static</code> keyword</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>D.3</entry>
 | 
						|
      <entry>Access declarations</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>D.4</entry>
 | 
						|
      <entry>Implicit conversion from const strings</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>D.5</entry>
 | 
						|
      <entry>C standard library headers</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>D.6</entry>
 | 
						|
      <entry>Old iostreams members</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
    <row>
 | 
						|
      <entry>D.7</entry>
 | 
						|
      <entry>char* streams</entry>
 | 
						|
      <entry/>
 | 
						|
      <entry/>
 | 
						|
    </row>
 | 
						|
 | 
						|
  </tbody>
 | 
						|
</tgroup>
 | 
						|
</table>
 | 
						|
</section>
 | 
						|
 | 
						|
<section xml:id="iso.1998.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info>
 | 
						|
  
 | 
						|
 | 
						|
   <para>
 | 
						|
     The ISO standard defines the following phrase:
 | 
						|
   </para>
 | 
						|
   <blockquote>
 | 
						|
     <variablelist>
 | 
						|
     <varlistentry>
 | 
						|
       <term>
 | 
						|
	 <code>[1.3.5] implementation-defined behavior</code>
 | 
						|
       </term>
 | 
						|
       <listitem>
 | 
						|
	 <para>
 | 
						|
	 Behavior, for a well-formed program construct and correct data, that
 | 
						|
	 depends on the implementation <emphasis>and that each implementation
 | 
						|
	 shall document</emphasis>.
 | 
						|
	 </para>
 | 
						|
       </listitem>
 | 
						|
     </varlistentry>
 | 
						|
     </variablelist>
 | 
						|
   </blockquote>
 | 
						|
   <para>
 | 
						|
     We do so here, for the C++ library only.  Behavior of the
 | 
						|
     compiler, linker, runtime loader, and other elements of "the
 | 
						|
     implementation" are documented elsewhere.  Everything listed
 | 
						|
     in Annex B, Implementation Qualities, are also part of the
 | 
						|
     compiler, not the library.
 | 
						|
   </para>
 | 
						|
   <para>
 | 
						|
     For each entry, we give the section number of the standard, when
 | 
						|
     applicable.  This list is probably incomplet and inkorrekt.
 | 
						|
   </para>
 | 
						|
   <para>
 | 
						|
     <emphasis>[1.9]/11 #3</emphasis> If <code>isatty(3)</code> is true, then
 | 
						|
      interactive stream support is implied.
 | 
						|
   </para>
 | 
						|
   <para>
 | 
						|
     <emphasis>[17.4.4.5]</emphasis> Non-reentrant functions are probably best
 | 
						|
      discussed in the various sections on multithreading (see above).
 | 
						|
   </para>
 | 
						|
   <!-- [17.4.4.8]/3 says any function that doesn't have an exception-spec
 | 
						|
	can throw whatever we want; see also its footnote.  Let's list those
 | 
						|
	in the sections where the function itself occurs.
 | 
						|
   -->
 | 
						|
   <para><emphasis>[18.1]/4</emphasis> The type of <code>NULL</code> is described
 | 
						|
      under <link linkend="std.support.types.null">Support</link>.
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[18.3]/8</emphasis> Even though it's listed in the library
 | 
						|
      sections, libstdc++ has zero control over what the cleanup code hands
 | 
						|
      back to the runtime loader.  Talk to the compiler people.  :-)
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[18.4.2.1]/5</emphasis> (bad_alloc),
 | 
						|
      <emphasis>[18.5.2]/5</emphasis> (bad_cast),
 | 
						|
      <emphasis>[18.5.3]/5</emphasis> (bad_typeid),
 | 
						|
      <emphasis>[18.6.1]/8</emphasis> (exception),
 | 
						|
      <emphasis>[18.6.2.1]/5</emphasis> (bad_exception):  The <code>what()</code>
 | 
						|
      member function of class <code>std::exception</code>, and these other
 | 
						|
      classes publicly derived from it, returns the name of the
 | 
						|
      class, e.g. <literal>"std::bad_alloc"</literal>.
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[18.5.1]/7</emphasis> The return value of
 | 
						|
      <code>std::type_info::name()</code> is the mangled type name.
 | 
						|
      You will need to call <code>c++filt</code> and pass the names as
 | 
						|
      command-line parameters to demangle them, or call a
 | 
						|
      <link linkend="manual.ext.demangle">runtime demangler function</link>.
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[20.1.5]/5</emphasis> <emphasis>"Implementors are encouraged to
 | 
						|
      supply libraries that can accept allocators that encapsulate more
 | 
						|
      general memory models and that support non-equal instances.  In such
 | 
						|
      implementations, any requirements imposed on allocators by containers
 | 
						|
      beyond those requirements that appear in Table 32, and the semantics
 | 
						|
      of containers and algorithms when allocator instances compare
 | 
						|
      non-equal, are implementation-defined."</emphasis>  There is experimental
 | 
						|
      support for non-equal allocators in the standard containers in C++98
 | 
						|
      mode. There are no additional requirements on allocators. It is undefined
 | 
						|
      behaviour to swap two containers if their allocators are not equal.
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[21.1.3.1]/3,4</emphasis>,
 | 
						|
      <emphasis>[21.1.3.2]/2</emphasis>,
 | 
						|
      <emphasis>[21.3]/6 basic_string::iterator, basic_string::const_iterator</emphasis>,
 | 
						|
      <emphasis>[23.*]'s foo::iterator</emphasis>,
 | 
						|
      <emphasis>[27.*]'s foo::*_type</emphasis>,
 | 
						|
      <emphasis>others...</emphasis>
 | 
						|
      Nope, these types are called implementation-defined because you
 | 
						|
      shouldn't be taking advantage of their underlying types.  Listing them
 | 
						|
      here would defeat the purpose.  :-)
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[21.1.3.1]/5</emphasis> I don't really know about
 | 
						|
      the <type>mbstate_t</type> stuff... see
 | 
						|
      the <link linkend="std.localization.facet.codecvt"><code>codecvt</code>
 | 
						|
      notes</link> for what does exist.
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[22.*]</emphasis> Anything and everything we have on locale
 | 
						|
      implementation will be described under
 | 
						|
      <link linkend="std.localization.locales.locale">Localization</link>.
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[26.2.8]/9</emphasis> I have no idea what
 | 
						|
      <code>complex<T></code>'s <code>pow(0,0)</code> returns.
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[27.4.2.4]/2</emphasis> Calling
 | 
						|
      <code>std::ios_base::sync_with_stdio</code> after I/O has already been
 | 
						|
      performed on the standard stream objects will
 | 
						|
      flush the buffers, and <!-- this line might go away -->
 | 
						|
      destroy and recreate the underlying buffer instances.  Whether or not
 | 
						|
      the previously-written I/O is destroyed in this process depends mostly
 | 
						|
      on the <code>--enable-libio</code> choice:  for stdio, if the written
 | 
						|
      data is already in the stdio buffer, the data may be completely safe!
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[27.6.1.1.2]</emphasis>,
 | 
						|
      <emphasis>[27.6.2.3]</emphasis> The I/O sentry ctor and dtor can perform
 | 
						|
      additional work than the minimum required.  We are not currently taking
 | 
						|
      advantage of this yet.
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[27.7.1.3]/16</emphasis>,
 | 
						|
      <emphasis>[27.8.1.4]/10</emphasis>
 | 
						|
      The effects of <code>pubsetbuf/setbuf</code> are described in the
 | 
						|
      <link linkend="std.io">Input and Output</link> chapter.
 | 
						|
   </para>
 | 
						|
   <para><emphasis>[27.8.1.4]/16</emphasis> Calling <code>fstream::sync</code> when
 | 
						|
      a get area exists will... whatever <code>fflush()</code> does, I think.
 | 
						|
   </para>
 | 
						|
 | 
						|
</section>
 | 
						|
 | 
						|
</section>
 |