From e79fa1eb9b0f2b251246176ade36017fd58adc96 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely
diff --git a/libstdc++-v3/doc/html/faq.html b/libstdc++-v3/doc/html/faq.html index 8fccee62a3a..db71bd0e065 100644 --- a/libstdc++-v3/doc/html/faq.html +++ b/libstdc++-v3/doc/html/faq.html @@ -4,7 +4,7 @@ 2008 FSF -
19664: libstdc++ headers should have pop/push of the visibility around the declarations -
Dynamic Shared Objects: Survey and Issues @@ -530,7 +530,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so. . ISO C++ J16/06-0046 - .
Versioning With Namespaces @@ -538,7 +538,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so. . ISO C++ J16/06-0083 - .
Binary Compatibility of Shared Libraries Implemented in C++
diff --git a/libstdc++-v3/doc/html/manual/algorithms.html b/libstdc++-v3/doc/html/manual/algorithms.html
index 4742c31fd3b..d72518a6d70 100644
--- a/libstdc++-v3/doc/html/manual/algorithms.html
+++ b/libstdc++-v3/doc/html/manual/algorithms.html
@@ -7,7 +7,7 @@
Standard Contents
Next
The neatest accomplishment of the algorithms sect1 is that all the work is done via iterators, not containers directly. This means two diff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html index 9c6df476817..d53fa3ebb65 100644 --- a/libstdc++-v3/doc/html/manual/api.html +++ b/libstdc++-v3/doc/html/manual/api.html @@ -75,11 +75,11 @@ _Alloc_traits have been removed. __alloc to select an underlying allocator that satisfied memory allocation requests. The selection of this underlying allocator was not user-configurable. -
Table B.1. Extension Allocators
Allocator (3.4) | Header (3.4) | Allocator (3.[0-3]) | Header (3.[0-3]) |
---|---|---|---|
__gnu_cxx::new_allocator<T> | ext/new_allocator.h | std::__new_alloc | memory |
__gnu_cxx::malloc_allocator<T> | ext/malloc_allocator.h | std::__malloc_alloc_template<int> | memory |
__gnu_cxx::debug_allocator<T> | ext/debug_allocator.h | std::debug_alloc<T> | memory |
__gnu_cxx::__pool_alloc<T> | ext/pool_allocator.h | std::__default_alloc_template<bool,int> | memory |
__gnu_cxx::__mt_alloc<T> | ext/mt_allocator.h | ||
__gnu_cxx::bitmap_allocator<T> | ext/bitmap_allocator.h |
Releases after gcc-3.4 have continued to add to the collection +
Table B.1. Extension Allocators
Allocator (3.4) | Header (3.4) | Allocator (3.[0-3]) | Header (3.[0-3]) |
---|---|---|---|
__gnu_cxx::new_allocator<T> | ext/new_allocator.h | std::__new_alloc | memory |
__gnu_cxx::malloc_allocator<T> | ext/malloc_allocator.h | std::__malloc_alloc_template<int> | memory |
__gnu_cxx::debug_allocator<T> | ext/debug_allocator.h | std::debug_alloc<T> | memory |
__gnu_cxx::__pool_alloc<T> | ext/pool_allocator.h | std::__default_alloc_template<bool,int> | memory |
__gnu_cxx::__mt_alloc<T> | ext/mt_allocator.h | ||
__gnu_cxx::bitmap_allocator<T> | ext/bitmap_allocator.h |
Releases after gcc-3.4 have continued to add to the collection of available allocators. All of these new allocators are standard-style. The following table includes details, along with the first released version of GCC that included the extension allocator. -
Table B.2. Extension Allocators Continued
Allocator | Include | Version |
---|---|---|
__gnu_cxx::array_allocator<T> | ext/array_allocator.h | 4.0.0 |
__gnu_cxx::throw_allocator<T> | ext/throw_allocator.h | 4.2.0 |
+
Table B.2. Extension Allocators Continued
Allocator | Include | Version |
---|---|---|
__gnu_cxx::array_allocator<T> | ext/array_allocator.h | 4.0.0 |
__gnu_cxx::throw_allocator<T> | ext/throw_allocator.h | 4.2.0 |
Debug mode first appears.
Precompiled header support PCH support. diff --git a/libstdc++-v3/doc/html/manual/appendix_contributing.html b/libstdc++-v3/doc/html/manual/appendix_contributing.html index 377d7fce57f..fff5258f25a 100644 --- a/libstdc++-v3/doc/html/manual/appendix_contributing.html +++ b/libstdc++-v3/doc/html/manual/appendix_contributing.html @@ -7,7 +7,7 @@ Appendices
Table of Contents
The GNU C++ Library follows an open development model. Active contributors are assigned maintainer-ship responsibility, and given diff --git a/libstdc++-v3/doc/html/manual/appendix_free.html b/libstdc++-v3/doc/html/manual/appendix_free.html index 9640ec0180b..847d386aacb 100644 --- a/libstdc++-v3/doc/html/manual/appendix_free.html +++ b/libstdc++-v3/doc/html/manual/appendix_free.html @@ -7,7 +7,7 @@ Appendices
The biggest deficiency in free operating systems is not in the software--it is the lack of good free manuals that we can include in diff --git a/libstdc++-v3/doc/html/manual/appendix_gpl.html b/libstdc++-v3/doc/html/manual/appendix_gpl.html index 0b2c12d3168..9e5814957d8 100644 --- a/libstdc++-v3/doc/html/manual/appendix_gpl.html +++ b/libstdc++-v3/doc/html/manual/appendix_gpl.html @@ -78,7 +78,7 @@
The precise terms and conditions for copying, distribution and modification follow. -
Table of Contents
As noted previously, certain other tools are necessary for hacking on files that diff --git a/libstdc++-v3/doc/html/manual/atomics.html b/libstdc++-v3/doc/html/manual/atomics.html index 9bfaf4a1d12..31158a46c57 100644 --- a/libstdc++-v3/doc/html/manual/atomics.html +++ b/libstdc++-v3/doc/html/manual/atomics.html @@ -7,7 +7,7 @@ Standard Contents
Table of Contents
Facilities for atomic operations.
diff --git a/libstdc++-v3/doc/html/manual/backwards.html b/libstdc++-v3/doc/html/manual/backwards.html index 05a70d4b03a..27f3ccb783d 100644 --- a/libstdc++-v3/doc/html/manual/backwards.html +++ b/libstdc++-v3/doc/html/manual/backwards.html @@ -17,8 +17,8 @@ ISO Standard (e.g., statistical analysis). While there are a lot of really useful things that are used by a lot of people, the Standards Committee couldn't include everything, and so a lot of those “obvious” classes didn't get included. -
Known Issues include many of the limitations of its immediate ancestor.
Portability notes and known implementation limitations are as follows.
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
.
-
+
Known Issues include many of the limitations of its immediate ancestor.
Portability notes and known implementation limitations are as follows.
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
.
+
In earlier versions of the standard,
fstream.h
,
ostream.h
@@ -44,7 +44,7 @@ considered replaced and rewritten.
archived. The code is considered replaced and rewritten.
Portability notes and known implementation limitations are as follows. -
+
Some care is required to support C++ compiler and or library
implementation that do not have the standard library in
namespace std
.
@@ -108,7 +108,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
AC_DEFINE(HAVE_NAMESPACE_STD,,[Define if g++ supports namespace std. ])
fi
])
-
The following illustrate implementation-allowed illegal iterator use, and then correct use.
@@ -121,7 +121,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
if (iterator)
won't work any more => use
if (iterator != iterator_type())
-
Glibc 2.0.x and 2.1.x define ctype.h
functionality as macros
(isspace, isalpha etc.).
@@ -154,7 +154,7 @@ std:: (__ctype_b[(int) ( ( 'X' ) )] & (unsigned short int) _ISspace ) ;
(ctype.h
) and the
definitions in namespace std::
(<cctype>
).
-
One solution is to add an autoconf-test for this:
AC_MSG_CHECKING(for container::at) @@ -180,7 +180,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
If you are using other (non-GNU) compilers it might be a good idea
to check for string::at
separately.
-
Use some kind of autoconf test, plus this:
#ifdef HAVE_CHAR_TRAITS @@ -188,7 +188,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)], #else #define CPP_EOF EOF #endif -
There are two functions for deleting the contents of a string:
clear
and erase
(the latter returns the
string).
@@ -206,12 +206,12 @@ erase(size_type __pos = 0, size_type __n = npos)
Unfortunately, clear
is not implemented in this
version, so you should use erase
(which is probably
faster than operator=(charT*)
).
-
These are no longer supported. Please use stringstreams instead. -
Although the ISO standard i/ostringstream
-classes are
provided, (sstream
), for
compatibility with older implementations the pre-ISO
@@ -299,14 +299,14 @@ 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”. -
Earlier GCC releases had a somewhat different approach to threading configuration and proper compilation. Before GCC 3.0, configuration of the threading model was dictated by compiler @@ -364,7 +364,7 @@ libstdc++-v3. of the SGI STL (version 3.3), with extensive changes.
A more formal description of the V3 goals can be found in the official design document. -
Portability notes and known implementation limitations are as follows.
The pre-ISO C++ headers +
Portability notes and known implementation limitations are as follows.
The pre-ISO C++ headers
(iostream.h
, defalloc.h
etc.) are
available, unlike previous libstdc++ versions, but inclusion
generates a warning that you are using deprecated headers.
@@ -436,7 +436,7 @@ like vector.h
can be replaced with using namespace std;
can be put at the global
scope. This should be enough to get this code compiling, assuming the
other usage is correct.
-
At this time most of the features of the SGI STL extension have been +
At this time most of the features of the SGI STL extension have been replaced by standardized libraries. In particular, the unordered_map and unordered_set containers of TR1 are suitable replacement for the non-standard hash_map and hash_set @@ -508,7 +508,7 @@ AC_DEFUN([AC_HEADER_EXT_HASH_SET], [ AC_DEFINE(HAVE_EXT_HASH_SET,,[Define if ext/hash_set is present. ]) fi ]) -
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
@@ -519,7 +519,7 @@ 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
?).
-
Phil Edwards writes: It was considered and rejected for the ISO
@@ -542,7 +542,7 @@ No stream::attach(int fd)
For another example of this, refer to
fdstream example
by Nicolai Josuttis.
-
Check for complete library coverage of the C++1998/2003 standard.
@@ -610,7 +610,7 @@ AC_DEFUN([AC_HEADER_STDCXX_98], [ AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ]) fi ]) -
Check for library coverage of the TR1 standard.
@@ -687,7 +687,7 @@ AC_DEFUN([AC_HEADER_TR1_UNORDERED_SET], [ AC_DEFINE(HAVE_TR1_UNORDERED_SET,,[Define if tr1/unordered_set is present. ]) fi ]) -
Check for baseline language coverage in the compiler for the C++0xstandard.
@@ -899,25 +899,25 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [ AC_DEFINE(HAVE_UNORDERED_SET,,[Define if unordered_set is present. ]) fi ]) -
Consider a block of size 64 ints. In memory, it would look like this: (assume a 32-bit system where, size_t is a 32-bit entity). -
+
The first Column(268) represents the size of the Block in bytes as seen by the Bitmap Allocator. Internally, a global free list is used to keep track of the free blocks used and given back by the diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html b/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html index 505a37dc501..4a5cd00f07c 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html +++ b/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html @@ -19,6 +19,6 @@ mode or with debug mode. The following table provides the names and headers of the debugging containers: -
Table 17.1. Debugging Containers
Container | Header | Debug container | Debug header |
---|---|---|---|
std::bitset | bitset | __gnu_debug::bitset | <debug/bitset> |
std::deque | deque | __gnu_debug::deque | <debug/deque> |
std::list | list | __gnu_debug::list | <debug/list> |
std::map | map | __gnu_debug::map | <debug/map> |
std::multimap | map | __gnu_debug::multimap | <debug/map> |
std::multiset | set | __gnu_debug::multiset | <debug/set> |
std::set | set | __gnu_debug::set | <debug/set> |
std::string | string | __gnu_debug::string | <debug/string> |
std::wstring | string | __gnu_debug::wstring | <debug/string> |
std::basic_string | string | __gnu_debug::basic_string | <debug/string> |
std::vector | vector | __gnu_debug::vector | <debug/vector> |
In addition, when compiling in C++0x mode, these additional +
Table 17.1. Debugging Containers
Container | Header | Debug container | Debug header |
---|---|---|---|
std::bitset | bitset | __gnu_debug::bitset | <debug/bitset> |
std::deque | deque | __gnu_debug::deque | <debug/deque> |
std::list | list | __gnu_debug::list | <debug/list> |
std::map | map | __gnu_debug::map | <debug/map> |
std::multimap | map | __gnu_debug::multimap | <debug/map> |
std::multiset | set | __gnu_debug::multiset | <debug/set> |
std::set | set | __gnu_debug::set | <debug/set> |
std::string | string | __gnu_debug::string | <debug/string> |
std::wstring | string | __gnu_debug::wstring | <debug/string> |
std::basic_string | string | __gnu_debug::basic_string | <debug/string> |
std::vector | vector | __gnu_debug::vector | <debug/vector> |
In addition, when compiling in C++0x mode, these additional containers have additional debug capability. -
Table 17.2. Debugging Containers C++0x
Container | Header | Debug container | Debug header |
---|---|---|---|
std::unordered_map | unordered_map | __gnu_debug::unordered_map | <debug/unordered_map> |
std::unordered_multimap | unordered_map | __gnu_debug::unordered_multimap | <debug/unordered_map> |
std::unordered_set | unordered_set | __gnu_debug::unordered_set | <debug/unordered_set> |
std::unordered_multiset | unordered_set | __gnu_debug::unordered_multiset | <debug/unordered_set> |