From 19f6f5a42c8522e8df729109d5fff21e520fc439 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Fri, 23 May 2008 10:35:39 +0000 Subject: [PATCH] intro.xml: Adjust links to ISO documents. 2008-05-23 Paolo Carlini * doc/xml/manual/intro.xml: Adjust links to ISO documents. From-SVN: r135796 --- libstdc++-v3/ChangeLog | 4 + libstdc++-v3/doc/xml/manual/intro.xml | 144 +++++++++++++------------- 2 files changed, 76 insertions(+), 72 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index d2ac4e2d643..8d83a2483d3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2008-05-23 Paolo Carlini + + * doc/xml/manual/intro.xml: Adjust links to ISO documents. + 2008-05-23 Paolo Carlini * include/c_std/cmath (fpclassify): Use __builtin_fpclassify. diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml index 3e84b554795..1596c3b3feb 100644 --- a/libstdc++-v3/doc/xml/manual/intro.xml +++ b/libstdc++-v3/doc/xml/manual/intro.xml @@ -167,50 +167,50 @@ - 5: + 5: string::compare specification questionable This should be two overloaded functions rather than a single function. - 17: + 17: Bad bool parsing Apparently extracting Boolean values was messed up... - 19: + 19: "Noconv" definition too vague If codecvt::do_in returns noconv there are no changes to the values in [to, to_limit). - 22: + 22: Member open vs flags Re-opening a file stream does not clear the state flags. - 25: + 25: String operator<< uses width() value wrong Padding issues. - 48: + 48: Use of non-existent exception constructor An instance of ios_base::failure is constructed instead. - 49: + 49: Underspecification of ios_base::sync_with_stdio The return type is the previous state of synchronization. - 50: + 50: Copy constructor and assignment operator of ios_base These members functions are declared private and are @@ -218,34 +218,34 @@ "copying stream state" was deemed too complicated. - 60: + 60: What is a formatted input function? This DR made many widespread changes to basic_istream and basic_ostream all of which have been implemented. - 63: + 63: Exception-handling policy for unformatted output Make the policy consistent with that of formatted input, unformatted input, and formatted output. - 68: + 68: Extractors for char* should store null at end And they do now. An editing glitch in the last item in the list of [27.6.1.2.3]/7. - 74: + 74: Garbled text for codecvt::do_max_length The text of the standard was gibberish. Typos gone rampant. - 75: + 75: Contradiction in codecvt::length's argument types Change the first parameter to stateT& and implement @@ -259,14 +259,14 @@ max_size() rather than npos. - 90: + 90: Incorrect description of operator>> for strings The effect contain isspace(c,getloc()) which must be replaced by isspace(c,is.getloc()). - 91: + 91: Description of operator>> and getline() for string<> might cause endless loop @@ -275,7 +275,7 @@ not required to set gcount). - 103: + 103: set::iterator is required to be modifiable, but this allows modification of keys. @@ -284,14 +284,14 @@ are constant iterators. - 109: + 109: Missing binders for non-const sequence elements The binder1st and binder2nd didn't have an operator() taking a non-const parameter. - 110: + 110: istreambuf_iterator::equal not const This was not a const member function. Note that the DR says to @@ -299,78 +299,78 @@ overloaded version with identical contents. - 117: + 117: basic_ostream uses nonexistent num_put member functions num_put::put() was overloaded on the wrong types. - 118: + 118: basic_istream uses nonexistent num_get member functions Same as 117, but for num_get::get(). - 129: + 129: Need error indication from seekp() and seekg() These functions set failbit on error now. - 136: + 136: seekp, seekg setting wrong streams? seekp should only set the output stream, and seekg should only set the input stream. - - 167: + 167: Improper use of traits_type::length() op<< with a const char* was calculating an incorrect number of characters to write. - 169: + 169: Bad efficiency of overflow() mandated Grow efficiently the internal array object. - 171: + 171: Strange seekpos() semantics due to joint position Quite complex to summarize... - 181: + 181: make_pair() unintended behavior This function used to take its arguments as reference-to-const, now it copies them (pass by value). - 195: + 195: Should basic_istream::sentry's constructor ever set eofbit? Yes, it can, specifically if EOF is reached while skipping whitespace. - 211: + 211: operator>>(istream&, string&) doesn't set failbit If nothing is extracted into the string, op>> now sets failbit (which can cause an exception, etc., etc.). - 214: + 214: set::find() missing const overload Both set and multiset were missing @@ -378,47 +378,47 @@ for const instances. - 231: + 231: Precision in iostream? For conversion from a floating-point type, str.precision() is specified in the conversion specification. - 233: + 233: Insertion hints in associative containers Implement N1780, first check before then check after, insert as close to hint as possible. - 235: + 235: No specification of default ctor for reverse_iterator The declaration of reverse_iterator lists a default constructor. However, no specification is given what this constructor should do. - 241: + 241: Does unique_copy() require CopyConstructible and Assignable? Add a helper for forward_iterator/output_iterator, fix the existing one for input_iterator/output_iterator to not rely on Assignability. - 243: + 243: get and getline when sentry reports failure Store a null character only if the character array has a non-zero size. - 251: + 251: basic_stringbuf missing allocator_type This nested typedef was originally not specified. - 253: + 253: valarray helper functions are almost entirely useless Make the copy constructor and copy-assignment operator declarations @@ -426,160 +426,160 @@ definitions. - 265: + 265: std::pair::pair() effects overly restrictive The default ctor would build its members from copies of temporaries; now it simply uses their respective default ctors. - 266: + 266: bad_exception::~bad_exception() missing Effects clause The bad_* classes no longer have destructors (they are trivial), since no description of them was ever given. - 271: + 271: basic_iostream missing typedefs The typedefs it inherits from its base classes can't be used, since (for example) basic_iostream<T>::traits_type is ambiguous. - 275: + 275: Wrong type in num_get::get() overloads Similar to 118. - 280: + 280: Comparison of reverse_iterator to const reverse_iterator Add global functions with two template parameters. (NB: not added for now a templated assignment operator) - 292: + 292: Effects of a.copyfmt (a) If (this == &rhs) do nothing. - 300: + 300: List::merge() specification incomplete If (this == &x) do nothing. - 303: + 303: Bitset input operator underspecified Basically, compare the input character to is.widen(0) and is.widen(1). - 305: + 305: Default behavior of codecvt<wchar_t, char, mbstate_t>::length() Do not specify what codecvt<wchar_t, char, mbstate_t>::do_length must return. - 328: + 328: Bad sprintf format modifier in money_put<>::do_put() Change the format string to "%.0Lf". - 365: + 365: Lack of const-qualification in clause 27 Add const overloads of is_open. - 389: + 389: Const overload of valarray::operator[] returns by value Change it to return a const T&. - 402: + 402: Wrong new expression in [some_]allocator::construct Replace "new" with "::new". - 409: + 409: Closing an fstream should clear the error state Have open clear the error flags. - 431: + 431: Swapping containers with unequal allocators Implement Option 3, as per N1599. - 432: + 432: stringbuf::overflow() makes only one write position available Implement the resolution, beyond DR 169. - 434: + 434: bitset::to_string() hard to use Add three overloads, taking fewer template arguments. - 438: + 438: Ambiguity in the "do the right thing" clause Implement the resolution, basically cast less. - 453: + 453: basic_stringbuf::seekoff need not always fail for an empty stream Don't fail if the next pointer is null and newoff is zero. - 455: + 455: cerr::tie() and wcerr::tie() are overspecified Initialize cerr tied to cout and wcerr tied to wcout. - 464: + 464: Suggestion for new member functions in standard containers Add data() to std::vector and at(const key_type&) to std::map. - 508: + 508: Bad parameters for ranlux64_base_01 Fix the parameters. - 512: + 512: Seeding subtract_with_carry_01 from a single unsigned long Construct a linear_congruential engine and seed with it. - 526: + 526: Is it undefined if a function in the standard changes in parameters? Use &value. - 538: + 538: 241 again: Does unique_copy() require CopyConstructible and Assignable? @@ -587,61 +587,61 @@ input_iterator' value_type. - 541: + 541: shared_ptr template assignment and void Add an auto_ptr<void> specialization. - 543: + 543: valarray slice default constructor Follow the straightforward proposed resolution. - 586: + 586: string inserter not a formatted function Change it to be a formatted output function (i.e. catch exceptions). - 596: + 596: 27.8.1.3 Table 112 omits "a+" and "a+b" modes Add the missing modes to fopen_mode. - 660: + 660: Missing bitwise operations Add the missing operations. - 693: + 693: std::bitset::all() missing Add it, consistently with the discussion. - 695: + 695: ctype<char>::classic_table() not accessible Make the member functions table and classic_table public. - 761: + 761: unordered_map needs an at() member function In C++0x mode, add at() and at() const. - 778: + 778: std::bitset does not have any constructor taking a string literal Add it. - 781: + 781: std::complex should add missing C99 functions In C++0x mode, add std::proj. -- 2.30.2