Commit 4df6abc6 by Phil Edwards

TODO: Update.

2002-06-16  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/TODO:  Update.
	* docs/doxygen/tables.html:  Uncomment magical middle column.
	* docs/doxygen/user.cfg.in:  Kludge to ignore function-like macros.
	* include/bits/stl_queue.h:  Doxygenate and reformat.
	* include/bits/ios_base.h, include/std/std_streambuf.h:  Add comment
	for deprecated names required by the standard.

From-SVN: r54666
parent 77bb9994
2002-06-16 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/TODO: Update.
* docs/doxygen/tables.html: Uncomment magical middle column.
* docs/doxygen/user.cfg.in: Kludge to ignore function-like macros.
* include/bits/stl_queue.h: Doxygenate and reformat.
* include/bits/ios_base.h, include/std/std_streambuf.h: Add comment
for deprecated names required by the standard.
2002-06-14 J.T. Conklin <jtc@acorntoolworks.com> 2002-06-14 J.T. Conklin <jtc@acorntoolworks.com>
* configure.in (target_alias): Fix. * configure.in (target_alias): Fix.
......
...@@ -25,7 +25,8 @@ c20 Note A ...@@ -25,7 +25,8 @@ c20 Note A
c21 Untouched, Note B c21 Untouched, Note B
c22 Untouched c22 Untouched
c23 See doxygroups.cc and Note B. Notes on what invalidates c23 See doxygroups.cc and Note B. Notes on what invalidates
iterators need to be added. iterators need to be added. std::list-specific memfns need
to be filled out.
c24 stl_iterator.h (__normal_iterator, other small TODO bits) c24 stl_iterator.h (__normal_iterator, other small TODO bits)
stream iterators stream iterators
c25 stl_algo.h (lots of stuff) c25 stl_algo.h (lots of stuff)
......
...@@ -39,14 +39,15 @@ rendering is ugly. (Update: mozilla 0.9.9 looks MUCH better.)</p> ...@@ -39,14 +39,15 @@ rendering is ugly. (Update: mozilla 0.9.9 looks MUCH better.)</p>
<a name="65"><p> <a name="65"><p>
<table cellpadding="3" cellspacing="5" align="center" rules="rows" border="3" <table cellpadding="3" cellspacing="5" align="center" rules="rows" border="3"
cols="4" title="Table 65"> cols="5" title="Table 65">
<caption><h2>Table 65 --- Container Requirements</h2></caption> <caption><h2>Table 65 --- Container Requirements</h2></caption>
<tr><th colspan="4"> <tr><th colspan="5">
Anything calling itself a container must meet these minimum requirements. Anything calling itself a container must meet these minimum requirements.
</th></tr> </th></tr>
<tr> <tr>
<td><strong>expression</strong></td> <td><strong>expression</strong></td>
<td><strong>result type</strong></td> <td><strong>result type</strong></td>
<td><strong>operational semantics</strong></td>
<td><strong>notes, pre-/post-conditions, assertions</strong></td> <td><strong>notes, pre-/post-conditions, assertions</strong></td>
<td><strong>complexity</strong></td> <td><strong>complexity</strong></td>
</tr> </tr>
...@@ -54,6 +55,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -54,6 +55,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>X::value_type</td> <td>X::value_type</td>
<td>T</td> <td>T</td>
<td>&nbsp;</td>
<td>T is Assignable</td> <td>T is Assignable</td>
<td>compile time</td> <td>compile time</td>
</tr> </tr>
...@@ -62,6 +64,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -62,6 +64,7 @@ Anything calling itself a container must meet these minimum requirements.
<td>X::reference</td> <td>X::reference</td>
<td>lvalue of T</td> <td>lvalue of T</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td>
<td>compile time</td> <td>compile time</td>
</tr> </tr>
...@@ -69,12 +72,14 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -69,12 +72,14 @@ Anything calling itself a container must meet these minimum requirements.
<td>X::const_reference</td> <td>X::const_reference</td>
<td>const lvalue of T</td> <td>const lvalue of T</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td>
<td>compile time</td> <td>compile time</td>
</tr> </tr>
<tr> <tr>
<td>X::iterator</td> <td>X::iterator</td>
<td>iterator type pointing to T</td> <td>iterator type pointing to T</td>
<td>&nbsp;</td>
<td>Any iterator category except output iterator. <td>Any iterator category except output iterator.
Convertible to X::const_iterator.</td> Convertible to X::const_iterator.</td>
<td>compile time</td> <td>compile time</td>
...@@ -83,6 +88,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -83,6 +88,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>X::const_iterator</td> <td>X::const_iterator</td>
<td>iterator type pointing to const T</td> <td>iterator type pointing to const T</td>
<td>&nbsp;</td>
<td>Any iterator category except output iterator.</td> <td>Any iterator category except output iterator.</td>
<td>compile time</td> <td>compile time</td>
</tr> </tr>
...@@ -90,6 +96,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -90,6 +96,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>X::difference_type</td> <td>X::difference_type</td>
<td>signed integral type</td> <td>signed integral type</td>
<td>&nbsp;</td>
<td>identical to the difference type of X::iterator and X::const_iterator</td> <td>identical to the difference type of X::iterator and X::const_iterator</td>
<td>compile time</td> <td>compile time</td>
</tr> </tr>
...@@ -97,6 +104,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -97,6 +104,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>X::size_type</td> <td>X::size_type</td>
<td>unsigned integral type</td> <td>unsigned integral type</td>
<td>&nbsp;</td>
<td>size_type can represent any non-negative value of difference_type</td> <td>size_type can represent any non-negative value of difference_type</td>
<td>compile time</td> <td>compile time</td>
</tr> </tr>
...@@ -104,6 +112,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -104,6 +112,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>X u;</td> <td>X u;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td>
<td>post: u.size() == 0</td> <td>post: u.size() == 0</td>
<td>constant</td> <td>constant</td>
</tr> </tr>
...@@ -111,6 +120,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -111,6 +120,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>X();</td> <td>X();</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td>
<td>X().size == 0</td> <td>X().size == 0</td>
<td>constant</td> <td>constant</td>
</tr> </tr>
...@@ -118,6 +128,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -118,6 +128,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>X(a);</td> <td>X(a);</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td>
<td>a == X(a)</td> <td>a == X(a)</td>
<td>linear</td> <td>linear</td>
</tr> </tr>
...@@ -125,6 +136,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -125,6 +136,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>X u(a);<br />X u = a;</td> <td>X u(a);<br />X u = a;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td>
<td>post: u == a. Equivalent to: X u; u = a;</td> <td>post: u == a. Equivalent to: X u; u = a;</td>
<td>linear</td> <td>linear</td>
</tr> </tr>
...@@ -132,6 +144,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -132,6 +144,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>(&amp;a)-&gt;~X();</td> <td>(&amp;a)-&gt;~X();</td>
<td>void</td> <td>void</td>
<td>&nbsp;</td>
<td>dtor is applied to every element of a; all the memory is deallocated</td> <td>dtor is applied to every element of a; all the memory is deallocated</td>
<td>linear</td> <td>linear</td>
</tr> </tr>
...@@ -140,6 +153,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -140,6 +153,7 @@ Anything calling itself a container must meet these minimum requirements.
<td>a.begin()</td> <td>a.begin()</td>
<td>iterator; const_iterator for constant a</td> <td>iterator; const_iterator for constant a</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td>
<td>constant</td> <td>constant</td>
</tr> </tr>
...@@ -147,12 +161,14 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -147,12 +161,14 @@ Anything calling itself a container must meet these minimum requirements.
<td>a.end()</td> <td>a.end()</td>
<td>iterator; const_iterator for constant a</td> <td>iterator; const_iterator for constant a</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td>
<td>constant</td> <td>constant</td>
</tr> </tr>
<tr> <tr>
<td>a == b</td> <td>a == b</td>
<td>convertible to bool</td> <td>convertible to bool</td>
<td>&nbsp;</td>
<td>== is an equivalence relation. a.size()==b.size() &amp;&amp; <td>== is an equivalence relation. a.size()==b.size() &amp;&amp;
equal(a.begin(),a.end(),b.begin())</td> equal(a.begin(),a.end(),b.begin())</td>
<td>linear</td> <td>linear</td>
...@@ -161,6 +177,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -161,6 +177,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>a != b</td> <td>a != b</td>
<td>convertible to bool</td> <td>convertible to bool</td>
<td>&nbsp;</td>
<td>equivalent to !(a==b)</td> <td>equivalent to !(a==b)</td>
<td>linear</td> <td>linear</td>
</tr> </tr>
...@@ -168,6 +185,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -168,6 +185,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>a.swap(b)</td> <td>a.swap(b)</td>
<td>void</td> <td>void</td>
<td>&nbsp;</td>
<td>swap(a,b)</td> <td>swap(a,b)</td>
<td>may or may not have constant complexity</td> <td>may or may not have constant complexity</td>
</tr> </tr>
...@@ -175,6 +193,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -175,6 +193,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>r = a</td> <td>r = a</td>
<td>X&amp;</td> <td>X&amp;</td>
<td>&nbsp;</td>
<td>r == a</td> <td>r == a</td>
<td>linear</td> <td>linear</td>
</tr> </tr>
...@@ -184,7 +203,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -184,7 +203,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>a.size()</td> <td>a.size()</td>
<td>size_type</td> <td>size_type</td>
<!--<td>a.end() - a.begin()</td>--> <td>a.end() - a.begin()</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>may or may not have constant complexity</td> <td>may or may not have constant complexity</td>
</tr> </tr>
...@@ -192,7 +211,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -192,7 +211,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>a.max_size()</td> <td>a.max_size()</td>
<td>size_type</td> <td>size_type</td>
<!--<td>size() of the largest possible container</td>--> <td>size() of the largest possible container</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>may or may not have constant complexity</td> <td>may or may not have constant complexity</td>
</tr> </tr>
...@@ -200,7 +219,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -200,7 +219,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>a.empty()</td> <td>a.empty()</td>
<td>convertible to bool</td> <td>convertible to bool</td>
<!--<td>a.size() == 0</td>--> <td>a.size() == 0</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>constant</td> <td>constant</td>
</tr> </tr>
...@@ -208,7 +227,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -208,7 +227,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>a &lt; b</td> <td>a &lt; b</td>
<td>convertible to bool</td> <td>convertible to bool</td>
<!--<td>lexographical_compare(a.begin,a.end(),b.begin(),b.end())</td>--> <td>lexographical_compare( a.begin, a.end(), b.begin(), b.end())</td>
<td>pre: &lt; is defined for T and is a total ordering relation</td> <td>pre: &lt; is defined for T and is a total ordering relation</td>
<td>linear</td> <td>linear</td>
</tr> </tr>
...@@ -216,7 +235,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -216,7 +235,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>a &gt; b</td> <td>a &gt; b</td>
<td>convertible to bool</td> <td>convertible to bool</td>
<!--<td>b &lt; a</td>--> <td>b &lt; a</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>linear</td> <td>linear</td>
</tr> </tr>
...@@ -224,7 +243,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -224,7 +243,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>a &lt;= b</td> <td>a &lt;= b</td>
<td>convertible to bool</td> <td>convertible to bool</td>
<!--<td>!(a &gt; b)</td>--> <td>!(a &gt; b)</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>linear</td> <td>linear</td>
</tr> </tr>
...@@ -232,7 +251,7 @@ Anything calling itself a container must meet these minimum requirements. ...@@ -232,7 +251,7 @@ Anything calling itself a container must meet these minimum requirements.
<tr> <tr>
<td>a &gt;= b</td> <td>a &gt;= b</td>
<td>convertible to bool</td> <td>convertible to bool</td>
<!--<td>!(a &lt; b)</td>--> <td>!(a &lt; b)</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>linear</td> <td>linear</td>
</tr> </tr>
......
...@@ -669,13 +669,13 @@ ENABLE_PREPROCESSING = YES ...@@ -669,13 +669,13 @@ ENABLE_PREPROCESSING = YES
# compilation will be performed. Macro expansion can be done in a controlled # compilation will be performed. Macro expansion can be done in a controlled
# way by setting EXPAND_ONLY_PREDEF to YES. # way by setting EXPAND_ONLY_PREDEF to YES.
MACRO_EXPANSION = NO MACRO_EXPANSION = YES
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
# then the macro expansion is limited to the macros specified with the # then the macro expansion is limited to the macros specified with the
# PREDEFINED and EXPAND_AS_PREDEFINED tags. # PREDEFINED and EXPAND_AS_PREDEFINED tags.
EXPAND_ONLY_PREDEF = NO EXPAND_ONLY_PREDEF = YES
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
# in the INCLUDE_PATH (see below) will be search if a #include is found. # in the INCLUDE_PATH (see below) will be search if a #include is found.
...@@ -701,10 +701,19 @@ INCLUDE_FILE_PATTERNS = ...@@ -701,10 +701,19 @@ INCLUDE_FILE_PATTERNS =
# or name=definition (no spaces). If the definition and the = are # or name=definition (no spaces). If the definition and the = are
# omitted =1 is assumed. # omitted =1 is assumed.
PREDEFINED = _GLIBCPP_DEPRECATED ### The deprecated functions are clearly marked as such in the code, but
### the DEPRECATED macro must be defined for that code to be seen by doxygen.
### The class_requires macros are kludges because SKIP_FUNCTION_MACROS is
### completely broken, and the presence of the macros confuses the parser.
PREDEFINED = _GLIBCPP_DEPRECATED \
__glibcpp_class_requires="//" \
__glibcpp_class_requires2="//" \
__glibcpp_class_requires3="//" \
__glibcpp_class_requires4="//"
# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then # If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded. # this tag can be used to specify a list of macro names that should be expanded.
# The macro definition that is found in the sources will be used. # The macro definition that is found in the sources will be used.
# Use the PREDEFINED tag if you want to use a different macro definition. # Use the PREDEFINED tag if you want to use a different macro definition.
......
...@@ -217,6 +217,7 @@ namespace std ...@@ -217,6 +217,7 @@ namespace std
static const seekdir end = seekdir(SEEK_END); static const seekdir end = seekdir(SEEK_END);
#ifdef _GLIBCPP_DEPRECATED #ifdef _GLIBCPP_DEPRECATED
// Annex D.6
typedef int io_state; typedef int io_state;
typedef int open_mode; typedef int open_mode;
typedef int seek_dir; typedef int seek_dir;
......
...@@ -464,6 +464,8 @@ namespace std ...@@ -464,6 +464,8 @@ namespace std
{ return traits_type::eof(); } { return traits_type::eof(); }
#ifdef _GLIBCPP_DEPRECATED #ifdef _GLIBCPP_DEPRECATED
// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00168.html
// Annex D.6
public: public:
void void
stossc() stossc()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment