X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Fdoc%2Fxml%2Fmanual%2Fstatus_cxx1998.xml;fp=libstdc%2B%2B-v3%2Fdoc%2Fxml%2Fmanual%2Fstatus_cxx1998.xml;h=d163f8a699f034642dc2fbe8677a27d220209306;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=0000000000000000000000000000000000000000;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libstdc++-v3/doc/xml/manual/status_cxx1998.xml b/libstdc++-v3/doc/xml/manual/status_cxx1998.xml new file mode 100644 index 00000000..d163f8a6 --- /dev/null +++ b/libstdc++-v3/doc/xml/manual/status_cxx1998.xml @@ -0,0 +1,1162 @@ + + + + + + + ISO C++ + + + 1998 + + + + +C++ 1998/2003 + + + Implementation Status + + +This status table is based on the table of contents of ISO/IEC 14882:2003. + + + +This page describes the C++0x support in mainline GCC SVN, not in any +particular release. + + + + + +C++ 1998/2003 Implementation Status + + + + + + + + Section + Description + Status + Comments + + + + + + + 18 + + + Language support + + + + + 18.1 + Types + Y + + + + 18.2 + Implementation properties + Y + + + + 18.2.1 + Numeric Limits + + + + + 18.2.1.1 + Class template numeric_limits + Y + + + + 18.2.1.2 + numeric_limits members + Y + + + 18.2.1.3 + float_round_style + Y + + + 18.2.1.4 + float_denorm_style + Y + + + 18.2.1.5 + numeric_limits specializations + Y + + + + 18.2.2 + C Library + Y + + + + 18.3 + Start and termination + Y + + + + 18.4 + Dynamic memory management + Y + + + + 18.5 + Type identification + + + + + 18.5.1 + Class type_info + Y + + + + 18.5.2 + Class bad_cast + Y + + + + 18.5.3 + Class bad_typeid + Y + + + + 18.6 + Exception handling + + + + + 18.6.1 + Class exception + Y + + + + 18.6.2 + Violation exception-specifications + Y + + + + 18.6.3 + Abnormal termination + Y + + + + 18.6.4 + uncaught_exception + Y + + + + 18.7 + Other runtime support + Y + + + + + 19 + + + Diagnostics + + + + 19.1 + Exception classes + Y + + + + 19.2 + Assertions + Y + + + + 19.3 + Error numbers + Y + + + + + 20 + + + General utilities + + + + 20.1 + Requirements + Y + + + + 20.2 + Utility components + + + + + 20.2.1 + Operators + Y + + + + 20.2.2 + pair + Y + + + + 20.3 + Function objects + + + + + 20.3.1 + Base + Y + + + + 20.3.2 + Arithmetic operation + Y + + + + 20.3.3 + Comparisons + Y + + + + 20.3.4 + Logical operations + Y + + + + 20.3.5 + Negators + Y + + + + 20.3.6 + Binders + Y + + + + 20.3.7 + Adaptors for pointers to functions + Y + + + + 20.3.8 + Adaptors for pointers to members + Y + + + + 20.4 + Memory + + + + + 20.4.1 + The default allocator + Y + + + + 20.4.2 + Raw storage iterator + Y + + + + 20.4.3 + Temporary buffers + Y + + + + 20.4.4 + Specialized algorithms + Y + + + + 20.4.4.1 + uninitialized_copy + Y + + + + 20.4.4.2 + uninitialized_fill + Y + + + + 20.4.4.3 + uninitialized_fill_n + Y + + + + 20.4.5 + Class template auto_ptr + Y + + + + 20.4.6 + C library + Y + + + + + 21 + + + Strings + + + + 21.1 + Character traits + + + + + 21.1.1 + Character traits requirements + Y + + + + 21.1.2 + traits typedef + Y + + + + 21.1.3 + char_traits specializations + + + + + 21.1.3.1 + struct char_traits<char> + Y + + + + 21.1.3.2 + struct char_traits<wchar_t> + Y + + + + 21.2 + String classes + Y + + + + 21.3 + Class template basic_string + Y + + + + 21.4 + Null-terminated sequence utilities + Y + C library dependency + + + + 22 + + + Localization + + + + 22.1 + Locales + + + + + 22.1.1 + Class locale + Y + + + + 22.1.2 + locale globals + Y + + + + 22.1.3 + Convenience interfaces + + + + + 22.1.3.1 + Character classification + Y + + + + 22.1.3.2 + Character conversions + Y + + + + 22.2 + Standard locale categories + + + + + 22.2.1 + ctype + Y + + + + 22.2.2 + Numeric + + + + + 22.2.2.1 + num_get + Y + + + + 22.2.2.2 + num_put + Y + + + + 22.2.3 + num_punct + Y + + + + 22.2.4 + collate + Y + + + + 22.2.5 + Time + + + + + 22.2.5.1 + time_get + Y + + + + 22.2.5.2 + time_get_byname + Y + + + + 22.2.5.3 + time_put + Y + + + + 22.2.5.3 + time_put_byname + Y + + + + 22.2.6 + Monetary + + + + + 22.2.6.1 + money_get + Y + + + + 22.2.6.2 + money_put + Y + + + + 22.2.6.3 + money_punct + Y + + + + 22.2.6.4 + money_punct_byname + Y + + + + 22.2.7 + messages + Y + + + + 22.2.8 + Program-defined facets + Y + + + + 22.3 + C Library Locales + Y + + + + + 23 + + + Containers + + + + 23.1 + Container requirements + Y + + + + 23.2 + Sequence containers + + + + + 23.2.1 + Class template deque + Y + + + + 23.2.2 + Class template list + Y + + + + 23.2.3 + Adaptors + + + + + 23.2.3.1 + Class template queue + Y + + + + 23.2.3.2 + Class template priority_queue + Y + + + + 23.2.3.3 + Class template stack + Y + + + + 23.2.4 + Class template vector + Y + + + + 23.2.5 + Class vector<bool> + Y + + + + 23.3 + Associative containers + + + + + 23.3.1 + Class template map + Y + + + + 23.3.2 + Class template multimap + Y + + + + 23.3.3 + Class template set + Y + + + + 23.3.4 + Class template multiset + Y + + + + + 24 + + + Iterators + + + + 24.1 + Requirements + Y + + + + 24.2 + Header <iterator> synopsis + Y + + + + 24.3 + Iterator primitives + Y + + + + 24.4 + Predefined iterators and Iterator adaptors + + + + + 24.4.1 + Reverse iterators + Y + + + + 24.4.2 + Insert iterators + Y + + + + 24.5 + Stream iterators + + + + + 24.5.1 + Class template istream_iterator + Y + + + + 24.5.2 + Class template ostream_iterator + Y + + + + 24.5.3 + Class template istreambuf_iterator + Y + + + + 24.5.4 + Class template ostreambuf_iterator + Y + + + + + 25 + + + Algorithms + + + + 25.1 + Non-modifying sequence operations + Y + + + + 25.2 + Mutating sequence operations + Y + + + + 25.3 + Sorting and related operations + Y + + + + 25.4 + C library algorithms + Y + + + + + 26 + + + Numerics + + + + 26.1 + Numeric type requirements + Y + + + + 26.2 + Complex numbers + Y + + + + 26.3 + Numeric arrays + + + + + 26.3.1 + Header <valarray> synopsis + Y + + + + 26.3.2 + Class template valarray + Y + + + + 26.3.3 + valarray non-member operations + Y + + + + 26.3.4 + Class slice + Y + + + + 26.3.5 + Class template slice_array + Y + + + + 26.3.6 + Class gslice + Y + + + + 26.3.7 + Class template gslice_array + Y + + + + 26.3.8 + Class template mask_array + Y + + + + 26.3.9 + Class template indirect_array + Y + + + + 26.4 + Generalized numeric operations + + + + + 26.4.1 + accumulate + Y + + + + 26.4.2 + inner_product + Y + + + + 26.4.3 + partial_sum + Y + + + + 26.4.4 + adjacent_difference + Y + + + + 26.4.5 + iota + Y + + + + 26.5 + C Library + Y + + + + + 27 + + + Input/output + + + + 27.1 + Requirements + Y + + + + 27.2 + Forward declarations + Y + + + + 27.3 + Standard iostream objects + Y + + + + 27.3.1 + Narrow stream objects + Y + + + + 27.3.2 + Wide stream objects + Y + + + + 27.4 + Iostreams base classes + Y + + + + 27.5 + Stream buffers + Y + + + + 27.6 + Formatting and manipulators + Y + + + + 27.7 + String-based streams + Y + + + + 27.8 + File-based streams + Y + + + + + Appendix D + + + Compatibility features + + + + D.1 + Increment operator with bool operand + + + + + D.2 + static keyword + + + + + D.3 + Access declarations + + + + + D.4 + Implicit conversion from const strings + + + + + D.5 + C standard library headers + + + + + D.6 + Old iostreams members + + + + + D.7 + char* streams + + + + + + +
+
+ + + Implementation Specific Behavior + + + The ISO standard defines the following phrase: + +
+ + + + [1.3.5] implementation-defined behavior + + + + Behavior, for a well-formed program construct and correct data, that + depends on the implementation and that each implementation + shall document. + + + + +
+ + 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. + + + For each entry, we give the section number of the standard, when + applicable. This list is probably incomplet and inkorrekt. + + + [1.9]/11 #3 If isatty(3) is true, then + interactive stream support is implied. + + + [17.4.4.5] Non-reentrant functions are probably best + discussed in the various sections on multithreading (see above). + + + [18.1]/4 The type of NULL is described + here. + + [18.3]/8 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. :-) + + [18.4.2.1]/5 (bad_alloc), + [18.5.2]/5 (bad_cast), + [18.5.3]/5 (bad_typeid), + [18.6.1]/8 (exception), + [18.6.2.1]/5 (bad_exception): The what() + member function of class std::exception, and these other + classes publicly derived from it, simply returns the name of the + class. But they are the mangled names; you will need to call + c++filt and pass the names as command-line parameters to + demangle them, or call a + runtime demangler function. + (The classes in <stdexcept> have constructors which + require an argument to use later for what() calls, so the + problem of what()'s value does not arise in most + user-defined exceptions.) + + [18.5.1]/7 The return value of + std::type_info::name() is the mangled type name (see the + previous entry for more). + + [20.1.5]/5 "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." As yet we don't + have any allocators which compare non-equal, so we can't describe how + they behave. + + [21.1.3.1]/3,4, + [21.1.3.2]/2, + [23.*]'s foo::iterator, + [27.*]'s foo::*_type, + others... + 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. :-) + + [21.1.3.1]/5 I don't really know about the mbstate_t + stuff... see the chapter 22 notes + for what does exist. + + [22.*] Anything and everything we have on locale + implementation will be described + over here. + + [26.2.8]/9 I have no idea what + complex<T>'s pow(0,0) returns. + + [27.4.2.4]/2 Calling + std::ios_base::sync_with_stdio after I/O has already been + performed on the standard stream objects will + flush the buffers, and + 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! + + [27.6.1.1.2], + [27.6.2.3] The I/O sentry ctor and dtor can perform + additional work than the minimum required. We are not currently taking + advantage of this yet. + + [27.7.1.3]/16, + [27.8.1.4]/10 + The effects of pubsetbuf/setbuf are described + in this chapter. + + [27.8.1.4]/16 Calling fstream::sync when + a get area exists will... whatever fflush() does, I think. + + +
+ +