From: bkoz
- To the libstdc++-v3 homepage. + To the libstdc++ homepage.
@@ -240,7 +240,7 @@ on ELF systems).mapfile: libstdc++-v3/config/linker-map.gnu
+mapfile: libstdc++/config/linker-map.gnu
It is versioned with the following labels and version definitions, where the version definition is the maximum for a particular release. Note, only symbol which are newly introduced @@ -340,7 +340,7 @@ on ELF systems).
This macro is defined in the file "c++config" in the - "libstdc++-v3/include/bits" directory. (Up to gcc-4.1.0, it was + "libstdc++/include/bits" directory. (Up to gcc-4.1.0, it was changed every night by an automated script. Since gcc-4.1.0, it is the same value as gcc/DATESTAMP.)
@@ -393,7 +393,7 @@ on ELF systems).This macro is defined in the file "c++config" in the - "libstdc++-v3/include/bits" directory and is generated + "libstdc++/include/bits" directory and is generated automatically by autoconf as part of the configure-time generation of config.h.
@@ -435,7 +435,7 @@ on ELF systems). All C++ includes are installed in include/c++, then nest in a directory hierarchy corresponding to the C++ compiler's released version. This version corresponds to the variable "gcc_version" in - "libstdc++-v3/acinclude.m4," and more details can be found in that + "libstdc++/acinclude.m4," and more details can be found in that file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before gcc-3.4.0).@@ -493,7 +493,7 @@ on ELF systems).
Minimum environment that supports a versioned ABI: A supported dynamic linker, a GNU linker of sufficient vintage to understand demangled C++ name globbing (ld), a shared executable compiled with - g++, and shared libraries (libgcc_s, libstdc++-v3) compiled by a + g++, and shared libraries (libgcc_s, libstdc++) compiled by a compiler (g++) with a compatible ABI. Phew. @@ -529,7 +529,7 @@ on ELF systems).- In particular, libstdc++-v3/acinclude.m4 has a macro called + In particular, libstdc++/acinclude.m4 has a macro called GLIBCXX_ENABLE_SYMVERS that defaults to yes (or the argument passed in via --enable-symvers=foo). At that point, the macro attempts to make sure that all the requirement for symbol versioning are in @@ -542,7 +542,7 @@ on ELF systems).
When the GNU C++ library is being built with symbol versioning on, - you should see the following at configure time for libstdc++-v3: + you should see the following at configure time for libstdc++:
@@ -776,7 +776,7 @@ http://gcc.gnu.org/ml/gcc/2002-08/msg00142.htmlTwo. -Use the 'make check-abi' rule in the libstdc++-v3 Makefile. +Use the 'make check-abi' rule in the libstdc++ Makefile.
diff --git a/libstdc++-v3/docs/html/17_intro/api.html b/libstdc++-v3/docs/html/17_intro/api.html new file mode 100644 index 000000000000..50c8604405ae --- /dev/null +++ b/libstdc++-v3/docs/html/17_intro/api.html @@ -0,0 +1,596 @@ + + + + +
+ + + + ++ The latest version of this document is always available at + + http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/abi.html. +
+ ++ To the libstdc++ homepage. +
+ + +2.72
+The first generation GNU C++ library was called libg++. It had a +working relationship with at least two kinds of dinosaur. Sadly, the +details were not pried away from the estate. +
+ ++ +
+ +Known Issues include many of the limitations of its immediate ancestor.
+ +ios_base
At least some older implementations don't have std::ios_base
, so you should use std::ios::badbit
, std::ios::failbit
and std::ios::eofbit
and std::ios::goodbit
.
+
cout
in ostream.h
, no cin
in istream.h
+
+
+ In earlier versions of the standard,
+ <fstream.h>,
+ <ostream.h>
+ and <istream.h>
+ used to define
+ cout
, cin
and so on. ISO C++ specifies that one needs to include
+ <iostream>
+ explicitly to get the required definitions.
+
Some include adjustment may be required.
+ + +This project is no longer maintained or supported, and the sources +archived. The code is considered replaced and rewritten. +
+ +The second generation GNU C++ library was called libstdc++, or +libstdc++-v2. It was a separate GNU project, although reliably paired +with GCC. It spans the time between libg++ and pre-ISO C++. +
+ +egcs 1.x
+2.95
+2.96
+ +Portability Notes
+Implementation Limitations
+ +std::
not supported.
+ Some care is required to support C++ compiler and or library
+ implementation that do not have the standard library in
+ namespace std
.
+
+ The following sections list some possible solutions to support compilers
+ that cannot ignore std::
-qualified names.
+
First, see if the compiler has a flag for this. Namespace
+ back-portability-issues are generally not a problem for g++
+ compilers that do not have libstdc++ in std::
, as
+ the compilers use -fno-honor-std
(ignore
+ std::
, :: = std::
) by default. That
+ is, the responsibility for enabling or disabling
+ std::
is on the user; the maintainer does not have
+ to care about it. This probably applies to some other compilers
+ as well.
+
Second, experiment with a variety of pre-processor tricks.
+ + By defining std
as a macro, fully-qualified namespace calls become global. Volia.
+
+
+#ifdef WICKEDLY_OLD_COMPILER +# define std +#endif ++(thanks to Juergen Heinzl who posted this solution on gnu.gcc.help) + +
Define a macro NAMESPACE_STD
, which is defined to
+either "" or "std" based on a compile-type
+test. On GNU systems, this can be done with autotools by means of an
+autoconf test (see below) for HAVE_NAMESPACE_STD
, then
+using that to set a value for the NAMESPACE_STD
macro.
+At that point, one is able to use NAMESPACE_STD::string
,
+which will evaluate to std::string
or
+::string
(ie, in the global namespace on systems that do
+not put string
in std::
).
+
+dnl @synopsis AC_CXX_HAVE_STD_NAMESPACE +dnl +dnl If the compiler supports the std namespace, define +dnl HAVE_STD_NAMESPACE. +dnl +dnl @category Cxx +dnl @author Todd Veldhuizen +dnl @author Luc Maisonobe+ ++dnl @version 2004-02-04 +dnl @license AllPermissive + +AC_DEFUN([AC_CXX_HAVE_STD_NAMESPACE], +[AC_CACHE_CHECK(whether the compiler supports the std namespace, +ac_cv_cxx_have_std_namespace, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include + std::istream& is = std::cin; + ],[return 0;], + ac_cv_cxx_have_std_namespace=yes, ac_cv_cxx_have_std_namespace=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_std_namespace" = yes; then + AC_DEFINE(HAVE_STD_NAMESPACE,,[define if the compiler supports the std namespace]) +fi +]) +
+ The following illustrate implementation-allowed illegal iterator + use, and then correct use.
you cannot do
+ ostream::operator<<(iterator)
to print the
+ address of the iterator => use operator<<
+ &*iterator
instead ?
+
you cannot clear an iterator's reference
+ (iterator = 0
) => use
+ iterator = iterator_type();
?
+
+if (iterator)
won't work any
+ more => use if (iterator != iterator_type())
+ ?
isspace
from <cctype> is a macro
+Glibc 2.0.x and 2.1.x define <ctype.h> +functionality as macros (isspace, isalpha etc.). +
+ ++This implementations of libstdc++, however, keep these functions as +macros, and so it is not back-portable to use fully qualified +names. For example: +
+ ++#include <cctype> +int main() { std::isspace('X'); } ++ +
Results in something like this: +
+ ++std:: (__ctype_b[(int) ( ( 'X' ) )] & (unsigned short int) _ISspace ) ; ++ + +
A solution is to modify a header-file so that the compiler tells +<ctype.h> to define functions instead of macros: +
+ ++// This keeps isalnum, et al from being propagated as macros. +#if __linux__ +# define __NO_CTYPE 1 +#endif ++ +
Then, include <ctype.h> +
+ +
+Another problem arises if you put a using namespace std;
+declaration at the top, and include <ctype.h>. This
+will result in ambiguities between the definitions in the global
+namespace (<ctype.h>) and the definitions in namespace
+std::
(<cctype>
).
+
vector::at
, deque::at
, string::at
+ One solution is to add an autoconf-test for this: +
++AC_MSG_CHECKING(for container::at) +AC_TRY_COMPILE( +[ +#include <vector> +#include <deque> +#include <string> + +using namespace std; +], +[ +deque<int> test_deque(3); +test_deque.at(2); +vector<int> test_vector(2); +test_vector.at(1); +string test_string("test_string"); +test_string.at(3); +], +[AC_MSG_RESULT(yes) +AC_DEFINE(HAVE_CONTAINER_AT)], +[AC_MSG_RESULT(no)]) ++ +
+If you are using other (non-GNU) compilers it might be a good idea
+to check for string::at
separately.
+
std::char_traits<char>::eof
+Use some kind of autoconf test, plus this: +
++#ifdef HAVE_CHAR_TRAITS +#define CPP_EOF std::char_traits<char>::eof() +#else +#define CPP_EOF EOF +#endif ++ +
string::clear
+ There are two functions for deleting the contents of a string:
+ clear
and erase
(the latter
+ returns the string).
+
+ void + clear() { _M_mutate(0, this->size(), 0); } ++
+ basic_string& + erase(size_type __pos = 0, size_type __n = npos) + { + return this->replace(_M_check(__pos), _M_fold(__pos, __n), + _M_data(), _M_data()); + } ++ Unfortunately, ut
clear
is not
+ implemented in this version, so you should use
+ erase
(which is probably faster than
+ operator=(charT*)
).
+
+
+ostream::form
and
+istream::scan
extensions.These are no longer supported. Please use + + stringstreams instead. +
+ +basic_stringbuf
, basic_stringstream
+ Libstdc++ provides the new
+ i/ostringstream
-classes, (<sstream>), but for compatibility
+ with older implementations you still have to use
+ i/ostrstream
(<strstream>):
+
+ #ifdef HAVE_SSTREAM + #include <sstream> + #else + #include <strstream> + #endif ++
strstream
is considered to be
+ deprecated
+
strstream
is limited to
+ char
+
with ostringstream
you don't
+ have to take care of terminating the string or freeing its
+ memory
+
istringstream
can be re-filled
+ (clear(); str(input);)
+
+ You can then use output-stringstreams like this: +
+ #ifdef HAVE_SSTREAM + std::ostringstream oss; + #else + std::ostrstream oss; + #endif + oss << "Name=" << m_name << ", number=" << m_number << std::endl; + ... + #ifndef HAVE_SSTREAM + oss << std::ends; // terminate the char*-string + #endif + // str() returns char* for ostrstream and a string for ostringstream + // this also causes ostrstream to think that the buffer's memory + // is yours + m_label.set_text(oss.str()); + #ifndef HAVE_SSTREAM + // let the ostrstream take care of freeing the memory + oss.freeze(false); + #endif ++
+ Input-stringstreams can be used similarly: +
+ ++std::string input; +... +#ifdef HAVE_SSTREAM +std::istringstream iss(input); +#else +std::istrstream iss(input.c_str()); +#endif + +int i; +iss >> i; ++ +
One (the only?) restriction is that an istrstream cannot be re-filled: +
+ ++std::istringstream iss(numerator); +iss >> m_num; +// this is not possible with istrstream +iss.clear(); +iss.str(denominator); +iss >> m_den; ++ +
+If you don't care about speed, you can put these conversions in + a template-function: +
++template <class X> +void fromString(const string& input, X& any) +{ +#ifdef HAVE_SSTREAM +std::istringstream iss(input); +#else +std::istrstream iss(input.c_str()); +#endif +X temp; +iss >> temp; +if (iss.fail()) +throw runtime_error(..) +any = temp; +} ++ +
Another example of using stringstreams is in this howto. +
+ +There is additional information in the libstdc++-v2 info files, in +particular "info iostream". +
+ +This project is no longer maintained or supported, and the sources +archived. The code is considered replaced and rewritten. +
+ + +The third generation GNU C++ library is called libstdc++, or +libstdc++-v3. +
+ +The subset commonly known as the Standard Template Library + (chapters 23 through 25, mostly) is adapted from the final release + of the SGI STL, with extensive changes. +
+ +A more formal description of the V3 goals can be found in the + official design document. +
+ + +Portability Notes
+ +The pre-ISO C++ headers (iostream.h etc.) are available, but inclusion + generates a warning that you are using deprecated headers. +
+ +This compatibility layer is constructed by including the
+ standard C++ headers, and injecting any items in
+ std::
into the global namespace.
+
For those of you new to ISO C++ (welcome, time travelers!), no, + that isn't a typo. Yes, the headers really have new names. + Marshall Cline's C++ FAQ Lite has a good explanation in item + [27.4]. +
+ +Some include adjustment may be required.
+ + Header files hash_map
and hash_set
+moved to ext/hash_map
and ext/hash_set
,
+respectively. At the same time, all types in these files are enclosed
+in namespace __gnu_cxx
.
+
ios::nocreate/ios::noreplace
.
+ The existence of ios::nocreate
being used for
+input-streams has been confirmed, most probably because the author
+thought it would be more correct to specify nocreate explicitly. So
+it can be left out for input-streams.
+
For output streams, "nocreate" is probably the default,
+unless you specify std::ios::trunc
? To be safe, you can
+open the file for reading, check if it has been opened, and then
+decide whether you want to create/replace or not. To my knowledge,
+even older implementations support app
, ate
+and trunc
(except for app
?).
+
stream::attach(int fd)
.
++ Phil Edwards writes: It was considered and rejected for the ISO + standard. Not all environments use file descriptors. Of those + that do, not all of them use integers to represent them. +
+ +
+ For a portable solution (among systems which use
+ filedescriptors), you need to implement a subclass of
+ std::streambuf
(or
+ std::basic_streambuf<..>
) which opens a file
+ given a descriptor, and then pass an instance of this to the
+ stream-constructor.
+
+ An extension is available that implements this.
+ <ext/stdio_filebuf.h>
contains a derived class called
+ __gnu_cxx::stdio_filebuf
.
+ This class can be constructed from a C FILE*
or a file
+ descriptor, and provides the fd()
function.
+
+ For another example of this, refer to + fdstream example + by Nicolai Josuttis. +
+ + + +API History, User Visible Changes
+ +3.0.0
+ + +3.1.0
+3.2.0
+3.3.0
+ + +3.4.0
+ +Macro guard for libstdc++ changed, from _GLIBCPP_ to _GLIBCXX_, to +accomodate a request from the C Pre Processor maintainer. + +4.0.0
+4.1.0
+ +std::assert
calls.
+
+4.2.0
+ +4.3.0
+ +Header streamlining. + +Backward include edit. + +PCH files built but not installed. + +Namespace pb_ds moved to __gnu_pb_ds. + +C++OX features appear. + ++Migrating to gcc-4.1, by Dan Kegel. +
+ ++Building the whole Debian archive with GCC 4.1: a summary, by Martin Michlmayr +
+ ++Migration guide for GCC-3.2 +
+ + + + diff --git a/libstdc++-v3/docs/html/17_intro/c++0x_status.html b/libstdc++-v3/docs/html/17_intro/c++0x_status.html new file mode 100644 index 000000000000..5627d6fe1780 --- /dev/null +++ b/libstdc++-v3/docs/html/17_intro/c++0x_status.html @@ -0,0 +1,2280 @@ + + + + + + + + + + ++This table is based on the table of contents of ISO/IEC +Doc No: N2461=07-0331 Date: 2007-10-22 +Working Draft, Standard for Programming Language C++ +
+ +
+In this implementation -std=gnu++0x
or
+-std=c++0x
flags must be used to enable language and
+library features. The pre-defined symbol
+__GXX_EXPERIMENTAL_CXX0X__
is used to check for the
+presence of the required flag.
+
+This page describes the C++0x support in mainline GCC SVN, not in any +particular release. +
+ +Section | +Description | +Done | +Broken | +Missing | +Comments | +
20 | +General Utilities | +||||
20.2 | +Utility Components | ++ | + | incomplete | ++ |
20.2.1 | +Operators | ++ | + | partial | ++ |
20.2.2 | +forward/move helpers | ++ | + | partial | ++ |
20.2.3 | +Pairs | +done | ++ | + | + |
20.3 | +Header <tuple> synopsis |
+ done | ++ | + | + |
20.3.1 | +Class template tuple |
+ done | ++ | + | + |
20.3.1.1 | +Construction | +done | ++ | + | + |
20.3.1.2 | +Tuple creation functions | +done | ++ | + | + |
20.3.1.3 | +Tuple helper classes | +done | ++ | + | + |
20.3.1.4 | +Element access | +done | ++ | + | + |
20.3.1.5 | +Relational operators | +done | ++ | + | + |
20.4 | +Metaprogramming and type traits | +||||
20.4.1 | +Requirements | +done | ++ | + | + |
20.4.2 | +Header <type_traits> synopsis |
+ done | ++ | + | + |
20.4.3 | +Helper classes | +done | ++ | + | + |
20.4.4 | +General Requirements | +done | ++ | + | + |
20.4.5 | +Unary Type Traits | +done | ++ | + | + |
20.4.5.1 | +Primary Type Categories | +done | ++ | + | + |
20.4.5.2 | +Composite type traits | +done | ++ | + | + |
20.4.5.3 | +Type properties | +done | ++ | + | + |
20.4.6 | +Relationships between types | +done | ++ | + | + |
20.4.7 | +Transformations between types | +done | ++ | + | + |
20.4.7.1 | +Const-volatile modifications | +done | ++ | + | + |
20.4.7.2 | +Reference modifications | +done | ++ | + | + |
20.4.7.3 | +Array modifications | +done | ++ | + | + |
20.4.7.4 | +Pointer modifications | +done | ++ | + | + |
20.4.8 | +Other transformations | +done | ++ | + | + |
20.4.9 | +Implementation requirements | +done | ++ | + | + |
20.5 | +Function Objects | +done | ++ | + | + |
20.5 | +Additions to header <functional> synopsis |
+ done | ++ | + | + |
20.5.1 | +Definitions | +done | ++ | + | + |
20.5.2 | +Requirements | +done | ++ | + | + |
20.5.3 | +Base | +done | ++ | + | + |
20.5.4 | +Function return types | +done | ++ | + | + |
20.5.5 | +Class template reference_wrapper |
+ done | ++ | + | + |
20.5.5.1 | +reference_wrapper construct/copy/destroy |
+ done | ++ | + | + |
20.5.5.2 | +reference_wrapper assignment |
+ done | ++ | + | + |
20.5.5.3 | +reference_wrapper access |
+ done | ++ | + | + |
20.5.5.4 | +reference_wrapper invocation |
+ done | ++ | + | + |
20.5.5.5 | +reference_wrapper helper functions |
+ done | ++ | + | + |
20.5.14 | +Function template mem_fn |
+ done | ++ | + | + |
20.5.11 | +Template function bind | +done | ++ | + | + |
20.5.11.1 | +Function object binders | +done | ++ | + | + |
20.5.11.1.1 | +Class template is_bind_expression |
+ done | ++ | + | + |
20.5.11.1.2 | +Class template is_placeholder |
+ done | ++ | + | + |
20.5.11.1.3 | +Function template bind |
+ done | ++ | + | + |
20.5.11.1.4 | +Placeholders | +done | ++ | + | + |
20.5.15 | +Polymorphic function wrappers | +done | ++ | + | + |
20.5.15.1 | +Class bad_function_call |
+ done | ++ | + | + |
20.5.15.1.1 | +bad_function_call constructor |
+ done | ++ | + | + |
20.5.15.2 | +Class template function |
+ done | ++ | + | + |
20.5.15.2.1 | +function construct/copy/destroy |
+ done | ++ | + | + |
20.5.15.2.2 | +function modifiers |
+ done | ++ | + | + |
20.5.15.2.3 | +function capacity |
+ done | ++ | + | + |
20.5.15.2.4 | +function invocation |
+ done | ++ | + | + |
20.5.15.2.5 | +function target access |
+ done | ++ | + | + |
20.5.15.2.7 | +null pointer comparison operators | +done | ++ | + | + |
20.5.15.2.8 | +specialized algorithms | +done | ++ | + | + |
20.5.16 | +Class template hash |
+ done | ++ | + | + |
20.6 | +Additions to header <memory> synopsis |
+ + | + | partial | +missing unique_ptr |
+
20.6.5 | +Class template unique_ptr |
+ + | + | missing | ++ |
20.6.6 | +Smart pointers | +done | ++ | + | + |
20.6.6.1 | +Class bad_weak_ptr |
+ done | ++ | + | + |
20.6.6.2 | +Class template shared_ptr |
+ done | ++ | + | 1 | +
20.6.6.2.1 | +shared_ptr constructors |
+ done | ++ | + | + |
20.6.6.2.2 | +shared_ptr destructor |
+ done | ++ | + | + |
20.6.6.2.3 | +shared_ptr assignment |
+ done | ++ | + | + |
20.6.6.2.4 | +shared_ptr modifiers |
+ done | ++ | + | + |
20.6.6.2.5 | +shared_ptr observers |
+ done | ++ | + | + |
20.6.6.2.6 | +shared_ptr comparison |
+ done | ++ | + | + |
20.6.6.2.7 | +shared_ptr I/O |
+ done | ++ | + | + |
20.6.6.2.8 | +shared_ptr specialized algorithms |
+ done | ++ | + | + |
20.6.6.2.9 | +shared_ptr casts |
+ done | ++ | + | + |
20.6.6.2.10 | +get_deleter |
+ done | ++ | + | + |
20.6.6.3 | +Class template weak_ptr |
+ done | ++ | + | + |
20.6.6.3.1 | +weak_ptr constructors |
+ done | ++ | + | + |
20.6.6.3.2 | +weak_ptr destructor |
+ done | ++ | + | + |
20.6.6.3.3 | +weak_ptr assignment |
+ done | ++ | + | + |
20.6.6.3.4 | +weak_ptr modifiers |
+ done | ++ | + | + |
20.6.6.3.5 | +weak_ptr observers |
+ done | ++ | + | + |
20.6.6.3.6 | +weak_ptr comparison |
+ done | ++ | + | + |
20.6.6.3.7 | +weak_ptr specialized algorithms |
+ done | ++ | + | + |
20.6.6.4 | +Class template enable_shared_from_this |
+ done | ++ | + | + |
23 | +Containers | +||||
23.2.1 | +Header <array> synopsis |
+ done | ++ | + | + |
23.2.1 | +Class template array | +done | ++ | + | + |
23.2.1.1 | +array constructors, copy, and assignment |
+ done | ++ | + | + |
23.2.1.2 | +array specialized algorithms |
+ done | ++ | + | + |
23.2.1.3 | +array size |
+ done | ++ | + | + |
23.2.1.4 | +array data |
+ + | + | missing | ++ |
23.2.1.5 | +Zero sized array s |
+ done | ++ | + | + |
23.2.1.6 | +Tuple interface to class template array |
+ done | ++ | + | + |
23.4 | +Unordered associative containers | +done | ++ | + | + |
23.4.1 | +Class template unordered_map |
+ done | ++ | + | + |
23.4.1.1 | +unordered_map constructors |
+ done | ++ | + | + |
23.4.1.2 | +unordered_map element access |
+ done | ++ | + | + |
23.4.1.3 | +unordered_map swap |
+ done | ++ | + | + |
23.4.2 | +Class template unordered_multimap |
+ done | ++ | + | + |
23.4.2.1 | +unordered_multimap constructors |
+ done | ++ | + | + |
23.4.2.2 | +unordered_multimap swap |
+ done | ++ | + | + |
23.4.3 | +Class template unordered_set |
+ done | ++ | + | + |
23.4.3.1 | +unordered_set constructors |
+ done | ++ | + | + |
23.4.3.2 | +unordered_set swap |
+ done | ++ | + | + |
23.4.4 | +Class template unordered_multiset |
+ done | ++ | + | + |
23.4.4.1 | +unordered_multiset constructors |
+ done | ++ | + | + |
23.4.4.2 | +unordered_multiset swap |
+ done | ++ | + | + |
26 | +Numerics | +||||
26.4 | +Random number generation | +done | ++ | + | + |
26.4.1 | +Requirements | +done | ++ | + | + |
26.4.2 | +Header <random> synopsis |
+ + | + | partial | ++ |
26.4.3 | +Random number engine class templates | +done | ++ | + | + |
26.4.3.1 | +Class template linear_congruential_engine |
+ done | ++ | + | + |
26.4.3.2 | +Class template mersenne_twister_engine |
+ done | ++ | + | + |
26.4.3.3 | +Class template subtract_with_carry_engine |
+ done | ++ | + | + |
26.4.4 | +Random number engine adaptor class templates | +done | ++ | + | + |
26.4.4.1 | +Class template discard_block_engine |
+ done | ++ | + | + |
26.4.4.2 | +Class template independent_bits_engine |
+ done | ++ | + | + |
26.4.4.3 | +Class template shuffle_order_engine |
+ done | ++ | + | + |
26.4.4.4 | +Class template xor_combine_engine |
+ done | ++ | + | operator()() per N2079 | +
26.4.5 | +Engines and engine adaptors with predefined parameters | +done | ++ | + | + |
26.4.6 | +Class random_device |
+ done | ++ | + | + |
26.4.7 | +Utilities | +done | ++ | + | + |
26.4.7.1 | +Class seed_seq |
+ + | + | missing | ++ |
26.4.7.2 | +Function template generate_cannonical |
+ + | + | missing | ++ |
26.4.8 | +Random number generation class templates | +done | ++ | + | + |
26.4.8.1 | +Uniform distributions | ++ | + | partial | ++ |
26.4.8.1 | +Class template uniform_int_distribution |
+ + | + | missing | ++ |
26.4.8.1 | +Class template uniform_real_distribution |
+ + | + | missing | ++ |
26.4.8.2 | +Bernoulli distributions | ++ | + | partial | ++ |
26.4.8.2.1 | +Class bernoulli_distribution |
+ done | ++ | + | + |
26.4.8.2.2 | +Class template binomial_distribution |
+ done | ++ | + | + |
26.4.8.2.3 | +Class template geometric_distribution |
+ done | ++ | + | + |
26.4.8.2.4 | +Class template negative_binomial_distribution |
+ + | + | missing | ++ |
26.4.8.3 | +Poisson distributions | ++ | + | partial | ++ |
26.4.8.3.1 | +Class template poisson_distribution |
+ done | ++ | + | + |
26.4.8.3.2 | +Class template exponential_distribution |
+ done | ++ | + | + |
26.4.8.3.3 | +Class template gamma_distribution |
+ done | ++ | + | + |
26.4.8.3.4 | +Class template weibull_distribution |
+ + | + | missing | ++ |
26.4.8.3.5 | +Class template extreme_value_distribution |
+ + | + | missing | ++ |
26.4.8.4 | +Normal distributions | ++ | + | partial | ++ |
26.4.8.4.1 | +Class template normal_distribution |
+ done | ++ | + | + |
26.4.8.4.2 | +Class template lognormal_distribution |
+ + | + | missing | ++ |
26.4.8.4.3 | +Class template chi_squared_distribution |
+ + | + | missing | ++ |
26.4.8.4.4 | +Class template cauchy_distribution |
+ + | + | missing | ++ |
26.4.8.4.5 | +Class template fisher_f_distribution |
+ + | + | missing | ++ |
26.4.8.4.6 | +Class template student_t_distribution |
+ + | + | missing | ++ |
26.4.8.5 | +Sampling distributions | ++ | + | missing | ++ |
26.4.8.5.1 | +Class template discrete_distribution |
+ + | + | missing | ++ |
26.4.8.5.1 | +Class template piecewise_constant_distribution |
+ + | + | missing | ++ |
26.4.8.5.1 | +Class template general_pdf_distribution |
+ + | + | missing | ++ |
28 | +Regular expressions | +||||
28.1 | +Definitions | ++ | + | missing | ++ |
28.2 | +Requirements | ++ | + | missing | ++ |
28.3 | +Regular expressions summary | ++ | + | missing | ++ |
28.4 | +Header <regex> synopsis |
+ + | + | missing | ++ |
28.5 | +Namespace tr1::regex_constants |
+ + | + | missing | ++ |
28.5.1 | +Bitmask Type syntax_option_type |
+ + | + | missing | ++ |
28.5.2 | +Bitmask Type regex_constants::match_flag_type |
+ + | + | missing | ++ |
28.5.3 | +Implementation defined error_type |
+ + | + | missing | ++ |
28.6 | +Class regex_error |
+ + | + | missing | ++ |
28.7 | +Class template regex_traits |
+ + | + | missing | ++ |
28.8 | +Class template basic_regex |
+ + | + | missing | ++ |
28.8.1 | +basic_regex constants |
+ + | + | missing | ++ |
28.8.2 | +basic_regex constructors |
+ + | + | missing | ++ |
28.8.3 | +basic_regex assign |
+ + | + | missing | ++ |
28.8.4 | +basic_regex constant operations |
+ + | + | missing | ++ |
28.8.5 | +basic_regex locale |
+ + | + | missing | ++ |
28.8.6 | +basic_regex swap |
+ + | + | missing | ++ |
28.8.7 | +basic_regex non-member functions |
+ + | + | missing | ++ |
28.8.7.1 | +basic_regex non-member swap |
+ + | + | missing | ++ |
28.9 | +Class template sub_match |
+ + | + | missing | ++ |
28.9.1 | +sub_match members |
+ + | + | missing | ++ |
28.9.2 | +sub_match non-member operators |
+ + | + | missing | ++ |
28.10 | +Class template match_results |
+ + | + | missing | ++ |
28.10.1 | +match_results constructors |
+ + | + | missing | ++ |
28.10.2 | +match_results size |
+ + | + | missing | ++ |
28.10.3 | +match_results element access |
+ + | + | missing | ++ |
28.10.4 | +match_results formatting |
+ + | + | missing | ++ |
28.10.5 | +match_results allocator |
+ + | + | missing | ++ |
28.10.6 | +match_results swap |
+ + | + | missing | ++ |
28.11 | +Regular expression algorithms | ++ | + | missing | ++ |
28.11.1 | +exceptions | ++ | + | missing | ++ |
28.11.2 | +regex_match |
+ + | + | missing | ++ |
28.11.3 | +regex_search |
+ + | + | missing | ++ |
28.11.4 | +regex_replace |
+ + | + | missing | ++ |
28.12 | +Regular expression Iterators | ++ | + | missing | ++ |
28.12.1 | +Class template regex_iterator |
+ + | + | missing | ++ |
28.12.1.1 | +regex_iterator constructors |
+ + | + | missing | ++ |
28.12.1.2 | +regex_iterator comparisons |
+ + | + | missing | ++ |
28.12.1.3 | +regex_iterator dereference |
+ + | + | missing | ++ |
28.12.1.4 | +regex_iterator increment |
+ + | + | missing | ++ |
28.12.2 | +Class template regex_token_iterator |
+ + | + | missing | ++ |
28.12.2.1 | +regex_token_iterator constructors |
+ + | + | missing | ++ |
28.12.2.2 | +regex_token_iterator comparisons |
+ + | + | missing | ++ |
28.12.2.3 | +regex_token_iterator dereference |
+ + | + | missing | ++ |
28.12.2.4 | +regex_token_iterator increment |
+ + | + | missing | ++ |
28.13 | +Modified ECMAScript regular expression grammar | ++ | + | missing | ++ |
C | +C compatibility | +||||
C2.1 | +Additions to header <complex> |
+ done | ++ | + | + |
C2.1.1 | +Synopsis | +done | ++ | + | + |
C2.1.2 | +Function acos |
+ done | ++ | + | + |
C2.1.3 | +Function asin |
+ done | ++ | + | + |
C2.1.4 | +Function atan |
+ done | ++ | + | + |
C2.1.5 | +Function acosh |
+ done | ++ | + | + |
C2.1.6 | +Function asinh |
+ done | ++ | + | + |
C2.1.7 | +Function atanh |
+ done | ++ | + | + |
C2.1.8 | +Function fabs |
+ done | ++ | + | + |
C2.1.9 | +Additional Overloads | +done | ++ | + | + |
C2.2 | +Header <ccomplex> |
+ + | + | missing | +DR 551 | +
C2.3 | +Header <complex.h> |
+ + | + | missing | +DR 551 | +
C2.4 | +Additions to header <cctype> |
+ done | ++ | + | + |
C2.4.1 | +Synopsis | +done | ++ | + | + |
C2.4.2 | +Function isblank |
+ done | ++ | + | + |
C2.5 | +Additions to header <ctype.h> |
+ done | ++ | + | + |
C2.6 | +Header <cfenv> |
+ done | ++ | + | + |
C2.6.1 | +Synopsis | +done | ++ | + | + |
C2.6.2 | +Definitions | +done | ++ | + | + |
C2.7 | +Header <fenv.h> |
+ done | ++ | + | + |
C2.8 | +Additions to header <cfloat> |
+ done | ++ | + | + |
C2.9 | +Additions to header <float.h> |
+ done | ++ | + | + |
C2.10 | +Additions to header <ios> |
+ + | + | missing | ++ |
C2.10.1 | +Synopsis | ++ | + | missing | ++ |
C2.10.2 | +Function hexfloat |
+ + | + | missing | ++ |
C2.11 | +Header <cinttypes> |
+ done | ++ | + | + |
C2.11.1 | +Synopsis | +done | ++ | + | DR 557 | +
C2.11.2 | +Definitions | +done | ++ | + | + |
C2.12 | +Header <inttypes.h> |
+ done | ++ | + | + |
C2.13 | +Additions to header <climits> |
+ done | ++ | + | + |
C2.14 | +Additions to header <limits.h> |
+ done | ++ | + | + |
C2.15 | +Additions to header <locale> |
+ + | + | missing | ++ |
C2.16 | +Additions to header <cmath> |
+ done | ++ | + | + |
C2.16.1 | +Synopsis | +done | ++ | + | + |
C2.16.2 | +Definitions | +done | ++ | + | + |
C2.16.3 | +Function template definitions | +done | ++ | + | + |
C2.16.4 | +Additional overloads | +done | ++ | + | DR 568; DR 550 | +
C2.17 | +Additions to header <math.h> |
+ done | ++ | + | + |
C2.18 | +Additions to header <cstdarg> |
+ done | ++ | + | + |
C2.19 | +Additions to header <stdarg.h> |
+ done | ++ | + | + |
C2.20 | +The header <cstdbool> |
+ done | ++ | + | + |
C2.21 | +The header <stdbool.h> |
+ done | ++ | + | + |
C2.22 | +The header <cstdint> |
+ done | ++ | + | + |
C2.22.1 | +Synopsis | +done | ++ | + | + |
C2.22.2 | +Definitions | +done | ++ | + | + |
C2.23 | +The header <stdint.h> |
+ done | ++ | + | + |
C2.24 | +Additions to header <cstdio> |
+ done | ++ | + | + |
C2.24.1 | +Synopsis | +done | ++ | + | + |
C2.24.2 | +Definitions | +done | ++ | + | + |
C2.24.3 | +Additional format specifiers | +done | ++ | + | C library responsibility | +
C2.24.4 | +Additions to header <stdio.h> |
+ done | ++ | + | + |
C2.25 | +Additions to header <cstdlib> |
+ done | ++ | + | + |
C2.25.1 | +Synopsis | +done | ++ | + | + |
C2.25.2 | +Definitions | +done | ++ | + | + |
C2.25.3 | +Function abs |
+ done | ++ | + | + |
C2.25.4 | +Function div |
+ done | ++ | + | + |
C2.26 | +Additions to header <stdlib.h> |
+ done | ++ | + | + |
C2.27 | +Header <ctgmath> |
+ done | ++ | + | DR 551 | +
C2.28 | +Header <tgmath.h> |
+ done | ++ | + | DR 551 | +
C2.29 | +Additions to header <ctime> |
+ done | ++ | + | C library responsibility | +
C2.30 | +Additions to header <cwchar> |
+ done | ++ | + | + |
C2.30.1 | +Synopsis | +done | ++ | + | + |
C2.30.2 | +Definitions | +done | ++ | + | + |
C2.30.3 | +Additional wide format specifiers | +done | ++ | + | C library responsibility | +
C2.31 | +Additions to header <wchar.h> |
+ done | ++ | + | + |
C2.32 | +Additions to header <cwctype> |
+ done | ++ | + | + |
C2.32.1 | +Synopsis | +done | ++ | + | + |
C2.32.2 | +Function iswblank |
+ done | ++ | + | + |
C2.33 | +Additions to header <wctype.h> |
+ done | ++ | + | + |
D | +Compatibility Features | +||||
D.6 | +Old iostream members | +done | ++ | + | + |
D.8 | +Binders | +done | ++ | + | 33911 | +
D.9 | +Class template auto_ptr |
+ done | ++ | + | 33911 | +
+Please send FSF & GNU inquiries & questions to +gnu@gnu.org. +There are also other ways +to contact the FSF. +
+ ++These pages are maintained by +the GCC team. +
+ + +For questions related to the use of GCC, please consult these web +pages and the GCC manuals. If +that fails, the gcc-help@gcc.gnu.org +mailing list might help.+Copyright (C) Free Software Foundation, Inc., +51 Franklin St, Fifth Floor, Boston, MA 02110, USA. +
++Verbatim copying and distribution of this entire article is +permitted in any medium, provided this notice is preserved. +
+ ++ Last modified 2007-10-30 + | +
+
+ |
+
Completion Checklist for the Standard C++ Library Updated: 2003-04-25 @@ -6000,3 +6001,4 @@ M int pcount() const; M char* str(); }; +\ No newline at end of file diff --git a/libstdc++-v3/docs/html/17_intro/concept_check.diff b/libstdc++-v3/docs/html/17_intro/concept_check.diff deleted file mode 100644 index afb17f5efd64..000000000000 --- a/libstdc++-v3/docs/html/17_intro/concept_check.diff +++ /dev/null @@ -1,382 +0,0 @@ - -Changes made while bringing boost/concept_check.hpp to v3's concept_check.h: - -1) File format changed from DOS to Unix. -2) Boost config.hpp and other workaround files dropped (unneeded in g++ v3). -3) Conditionally-compiled code depending on those "breakage" macros was - removed, or not, depending on the macro, so that the macros themselves - are gone. Since the same code would always be compiled, let's make it - easier on the reader and a few milliseconds faster for cpplib. -4) Tests for NDEBUG were removed; if NDEBUG is defined, none of the checking - code will even be included. -5) BOOST_CLASS_REQUIRES* changed to accept a namespace parameter. -6) SameTypeConcept added (simple wrapper around existing code). -7) An unused variable in OutputIteratorConcept was removed. - -At checkin, this was the exact diff, modulo the end-of-line character changes: - - ---- concept_check.hpp.orig Sun Apr 1 08:59:46 2001 -+++ boost_concept_check.h Mon Apr 2 18:56:41 2001 -@@ -5,20 +5,15 @@ - // "as is" without express or implied warranty, and with no claim as - // to its suitability for any purpose. - // -+ -+// GCC Note: based on version 1.12.0 of the Boost library. - #ifndef BOOST_CONCEPT_CHECKS_HPP - #define BOOST_CONCEPT_CHECKS_HPP - --#include
No problem is insoluble in all conceivable circumstances.
-- The Cosmic AC, diff --git a/libstdc++-v3/docs/html/17_intro/headers_cc.txt b/libstdc++-v3/docs/html/17_intro/headers_cc.txt deleted file mode 100644 index a0d926d71c59..000000000000 --- a/libstdc++-v3/docs/html/17_intro/headers_cc.txt +++ /dev/null @@ -1,83 +0,0 @@ -// 1999-05-12 bkoz - -// Copyright (C) 1999 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, -// USA. - -// 17.4.1.2 Headers - - -// "C++" headers -#include-#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include
-#include