diff options
Diffstat (limited to 'gcc-4.4.3/libstdc++-v3/doc/xml/manual/status_cxx1998.xml')
-rw-r--r-- | gcc-4.4.3/libstdc++-v3/doc/xml/manual/status_cxx1998.xml | 1162 |
1 files changed, 0 insertions, 1162 deletions
diff --git a/gcc-4.4.3/libstdc++-v3/doc/xml/manual/status_cxx1998.xml b/gcc-4.4.3/libstdc++-v3/doc/xml/manual/status_cxx1998.xml deleted file mode 100644 index d163f8a69..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/xml/manual/status_cxx1998.xml +++ /dev/null @@ -1,1162 +0,0 @@ -<sect2 id="status.iso.1998" xreflabel="ISO C++ 1998"> -<?dbhtml filename="status_iso_cxx1998.html"?> - -<sect2info> - <keywordset> - <keyword> - ISO C++ - </keyword> - <keyword> - 1998 - </keyword> - </keywordset> -</sect2info> - -<title>C++ 1998/2003</title> - -<sect3 id="iso.1998.status" xreflabel="Implementation Status"> - <title>Implementation Status</title> - -<para> -This status table is based on the table of contents of ISO/IEC 14882:2003. -</para> - -<para> -This page describes the C++0x 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'> -<title>C++ 1998/2003 Implementation Status</title> -<tgroup cols='4' align='left' colsep='0' rowsep='1'> -<colspec colname='c1'></colspec> -<colspec colname='c2'></colspec> -<colspec colname='c3'></colspec> -<colspec colname='c4'></colspec> - <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></entry> - </row> - <row> - <entry>18.2</entry> - <entry>Implementation properties</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.2.1</entry> - <entry>Numeric Limits</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>18.2.1.1</entry> - <entry>Class template <code>numeric_limits</code></entry> - <entry>Y</entry> - <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></entry> - </row> - <row> - <entry>18.2.2</entry> - <entry>C Library</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.3</entry> - <entry>Start and termination</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.4</entry> - <entry>Dynamic memory management</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.5</entry> - <entry>Type identification</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>18.5.1</entry> - <entry>Class type_info</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.5.2</entry> - <entry>Class bad_cast</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.5.3</entry> - <entry>Class bad_typeid</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.6</entry> - <entry>Exception handling</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>18.6.1</entry> - <entry>Class exception</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.6.2</entry> - <entry>Violation exception-specifications</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.6.3</entry> - <entry>Abnormal termination</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.6.4</entry> - <entry><code>uncaught_exception</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>18.7</entry> - <entry>Other runtime support</entry> - <entry>Y</entry> - <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></entry> - </row> - <row> - <entry>19.2</entry> - <entry>Assertions</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>19.3</entry> - <entry>Error numbers</entry> - <entry>Y</entry> - <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></entry> - </row> - <row> - <entry>20.2</entry> - <entry>Utility components</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>20.2.1</entry> - <entry>Operators</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.2.2</entry> - <entry><code>pair</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.3</entry> - <entry>Function objects</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>20.3.1</entry> - <entry>Base</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.3.2</entry> - <entry>Arithmetic operation</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.3.3</entry> - <entry>Comparisons</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.3.4</entry> - <entry>Logical operations</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.3.5</entry> - <entry>Negators</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.3.6</entry> - <entry>Binders</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.3.7</entry> - <entry>Adaptors for pointers to functions</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.3.8</entry> - <entry>Adaptors for pointers to members</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.4</entry> - <entry>Memory</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>20.4.1</entry> - <entry>The default allocator</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.4.2</entry> - <entry>Raw storage iterator</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.4.3</entry> - <entry>Temporary buffers</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.4.4</entry> - <entry>Specialized algorithms</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.4.4.1</entry> - <entry><code>uninitialized_copy</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.4.4.2</entry> - <entry><code>uninitialized_fill</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.4.4.3</entry> - <entry><code>uninitialized_fill_n</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.4.5</entry> - <entry>Class template <code>auto_ptr</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>20.4.6</entry> - <entry>C library</entry> - <entry>Y</entry> - <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> - <entry></entry> - </row> - <row> - <entry>21.1.1</entry> - <entry>Character traits requirements</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>21.1.2</entry> - <entry>traits typedef</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>21.1.3</entry> - <entry><code>char_traits</code> specializations</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>21.1.3.1</entry> - <entry>struct <code>char_traits<char></code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>21.1.3.2</entry> - <entry>struct <code>char_traits<wchar_t></code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>21.2</entry> - <entry>String classes</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>21.3</entry> - <entry>Class template <code>basic_string</code></entry> - <entry>Y</entry> - <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> - <entry></entry> - </row> - <row> - <entry>22.1.1</entry> - <entry>Class <code>locale</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.1.2</entry> - <entry><code>locale</code> globals</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.1.3</entry> - <entry>Convenience interfaces</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>22.1.3.1</entry> - <entry>Character classification</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.1.3.2</entry> - <entry>Character conversions</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2</entry> - <entry>Standard locale categories</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>22.2.1</entry> - <entry><code>ctype</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.2</entry> - <entry>Numeric</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>22.2.2.1</entry> - <entry><code>num_get</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.2.2</entry> - <entry><code>num_put</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.3</entry> - <entry><code>num_punct</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.4</entry> - <entry><code>collate</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.5</entry> - <entry>Time</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>22.2.5.1</entry> - <entry><code>time_get</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.5.2</entry> - <entry><code>time_get_byname</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.5.3</entry> - <entry><code>time_put</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.5.3</entry> - <entry><code>time_put_byname</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.6</entry> - <entry>Monetary</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>22.2.6.1</entry> - <entry><code>money_get</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.6.2</entry> - <entry><code>money_put</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.6.3</entry> - <entry><code>money_punct</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.6.4</entry> - <entry><code>money_punct_byname</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.7</entry> - <entry><code>messages</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.2.8</entry> - <entry>Program-defined facets</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>22.3</entry> - <entry>C Library Locales</entry> - <entry>Y</entry> - <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></entry> - </row> - <row> - <entry>23.2</entry> - <entry>Sequence containers</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>23.2.1</entry> - <entry>Class template <code>deque</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>23.2.2</entry> - <entry>Class template <code>list</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>23.2.3</entry> - <entry>Adaptors</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>23.2.3.1</entry> - <entry>Class template <code>queue</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>23.2.3.2</entry> - <entry>Class template <code>priority_queue</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>23.2.3.3</entry> - <entry>Class template <code>stack</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>23.2.4</entry> - <entry>Class template <code>vector</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>23.2.5</entry> - <entry>Class <code>vector<bool></code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>23.3</entry> - <entry>Associative containers</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>23.3.1</entry> - <entry>Class template <code>map</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>23.3.2</entry> - <entry>Class template <code>multimap</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>23.3.3</entry> - <entry>Class template <code>set</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>23.3.4</entry> - <entry>Class template <code>multiset</code></entry> - <entry>Y</entry> - <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></entry> - </row> - <row> - <entry>24.2</entry> - <entry>Header <code><iterator></code> synopsis</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>24.3</entry> - <entry>Iterator primitives</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>24.4</entry> - <entry>Predefined iterators and Iterator adaptors</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>24.4.1</entry> - <entry>Reverse iterators</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>24.4.2</entry> - <entry>Insert iterators</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>24.5</entry> - <entry>Stream iterators</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>24.5.1</entry> - <entry>Class template <code>istream_iterator</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>24.5.2</entry> - <entry>Class template <code>ostream_iterator</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>24.5.3</entry> - <entry>Class template <code>istreambuf_iterator</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>24.5.4</entry> - <entry>Class template <code>ostreambuf_iterator</code></entry> - <entry>Y</entry> - <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></entry> - </row> - <row> - <entry>25.2</entry> - <entry>Mutating sequence operations</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>25.3</entry> - <entry>Sorting and related operations</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>25.4</entry> - <entry>C library algorithms</entry> - <entry>Y</entry> - <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></entry> - </row> - <row> - <entry>26.2</entry> - <entry>Complex numbers</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.3</entry> - <entry>Numeric arrays</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>26.3.1</entry> - <entry>Header <code><valarray></code> synopsis</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.3.2</entry> - <entry>Class template <code>valarray</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.3.3</entry> - <entry><code>valarray</code> non-member operations</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.3.4</entry> - <entry>Class <code>slice</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.3.5</entry> - <entry>Class template <code>slice_array</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.3.6</entry> - <entry>Class <code>gslice</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.3.7</entry> - <entry>Class template <code>gslice_array</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.3.8</entry> - <entry>Class template <code>mask_array</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.3.9</entry> - <entry>Class template <code>indirect_array</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.4</entry> - <entry>Generalized numeric operations</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>26.4.1</entry> - <entry><code>accumulate</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.4.2</entry> - <entry><code>inner_product</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.4.3</entry> - <entry><code>partial_sum</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.4.4</entry> - <entry><code>adjacent_difference</code></entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.4.5</entry> - <entry>iota</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>26.5</entry> - <entry>C Library</entry> - <entry>Y</entry> - <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></entry> - </row> - <row> - <entry>27.2</entry> - <entry>Forward declarations</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>27.3</entry> - <entry>Standard iostream objects</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>27.3.1</entry> - <entry>Narrow stream objects</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>27.3.2</entry> - <entry>Wide stream objects</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>27.4</entry> - <entry>Iostreams base classes</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>27.5</entry> - <entry>Stream buffers</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>27.6</entry> - <entry>Formatting and manipulators</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>27.7</entry> - <entry>String-based streams</entry> - <entry>Y</entry> - <entry></entry> - </row> - <row> - <entry>27.8</entry> - <entry>File-based streams</entry> - <entry>Y</entry> - <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> - <entry></entry> - </row> - <row> - <entry>D.2</entry> - <entry><code>static</code> keyword</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>D.3</entry> - <entry>Access declarations</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>D.4</entry> - <entry>Implicit conversion from const strings</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>D.5</entry> - <entry>C standard library headers</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>D.6</entry> - <entry>Old iostreams members</entry> - <entry></entry> - <entry></entry> - </row> - <row> - <entry>D.7</entry> - <entry>char* streams</entry> - <entry></entry> - <entry></entry> - </row> - - </tbody> -</tgroup> -</table> -</sect3> - -<sect3 id="iso.1998.specific" xreflabel="Implementation Specific"> - <title>Implementation Specific Behavior</title> - - <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 - <ulink url="../18_support/howto.html#1">here</ulink>. - </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, simply returns the name of the - class. But they are the <emphasis>mangled</emphasis> names; you will need to call - <code>c++filt</code> and pass the names as command-line parameters to - demangle them, or call a - <ulink url="../18_support/howto.html#5">runtime demangler function</ulink>. - (The classes in <code><stdexcept></code> have constructors which - require an argument to use later for <code>what()</code> calls, so the - problem of <code>what()</code>'s value does not arise in most - user-defined exceptions.) - </para> - <para><emphasis>[18.5.1]/7</emphasis> The return value of - <code>std::type_info::name()</code> is the mangled type name (see the - previous entry for more). - </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> As yet we don't - have any allocators which compare non-equal, so we can't describe how - they behave. - </para> - <para><emphasis>[21.1.3.1]/3,4</emphasis>, - <emphasis>[21.1.3.2]/2</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 mbstate_t - stuff... see the <ulink url="../22_locale/howto.html">chapter 22 notes</ulink> - for what does exist. - </para> - <para><emphasis>[22.*]</emphasis> Anything and everything we have on locale - implementation will be described - <ulink url="../22_locale/howto.html">over here</ulink>. - </para> - <para><emphasis>[26.2.8]/9</emphasis> I have no idea what - <code>complex<T></code>'s pow(0,0) 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 --enable-libio 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 - <ulink url="../27_io/howto.html#2">in this chapter</ulink>. - </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> - -</sect3> - -</sect2> |