diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index bf27aae5585..3d706caec8f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -48,6 +48,17 @@ * doc/xml/manual/messages.xml: Same. * doc/xml/manual/test.xml: Same. + * doc/xml/manual/abi.xml: Same. + * doc/xml/manual/auto_ptr.xml: Same. + * doc/xml/manual/parallel_mode.xml: Same. + * doc/xml/manual/build_hacking.xml: Same. + * doc/xml/manual/evolution.xml: Same. + * doc/xml/manual/using.xml: Same. + * doc/xml/manual/debug_mode.xml: Same. + * doc/xml/manual/extensions.xml: Same. + * doc/xml/manual/diagnostics.xml: Same. + * doc/xml/manual/algorithms.xml: Same. + * doc/html: Regenerate. 2009-07-18 Paolo Carlini diff --git a/libstdc++-v3/doc/html/api.html b/libstdc++-v3/doc/html/api.html index 826d360ca7e..80a18e35d26 100644 --- a/libstdc++-v3/doc/html/api.html +++ b/libstdc++-v3/doc/html/api.html @@ -5,7 +5,7 @@ FSF -

+


diff --git a/libstdc++-v3/doc/html/manual/abi.html b/libstdc++-v3/doc/html/manual/abi.html index 58b689e49b3..807d3054cc7 100644 --- a/libstdc++-v3/doc/html/manual/abi.html +++ b/libstdc++-v3/doc/html/manual/abi.html @@ -329,7 +329,7 @@ standard includes.

Testing the C++ compiler ABI can be done various ways.

- One. Intel ABI checker. More information can be obtained here. + One. Intel ABI checker.

Two. The second is yet unreleased, but has been announced on the gcc @@ -464,58 +464,60 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so. 24660: versioning weak symbols in libstdc++

19664: libstdc++ headers should have pop/push of the visibility around the declarations -

Bibliography

+

Bibliography

ABIcheck, a vague idea of checking ABI compatibility . - .

+ .

C++ ABI Reference . - + - .

+ .

Intel® Compilers for Linux* -Compatibility with the GNU Compilers . - + - .

- Intel® Compilers for Linux* -Compatibility with the GNU Compilers - . - - - .

+ .

Sun Solaris 2.9 : Linker and Libraries Guide (document 816-1386) . - + - .

+ .

Sun Solaris 2.9 : C++ Migration Guide (document 816-2459) . - + - .

- ELF Symbol Versioning + .

+ How to Write Shared Libraries . Ulrich Drepper. - + - .

+ .

C++ ABI for the ARM Architecture . - .

+ .

Dynamic Shared Objects: Survey and Issues . ISO C++ J16/06-0046 . Benjamin Kosnik. - .

+ .

Versioning With Namespaces . ISO C++ J16/06-0083 . Benjamin Kosnik. + .

+ Binary Compatibility of Shared Libraries Implemented in C++ on GNU/Linux Systems + . +SYRCoSE 2009 + . Pavel Shved. Denis Silakov. + + .

diff --git a/libstdc++-v3/doc/html/manual/algorithms.html b/libstdc++-v3/doc/html/manual/algorithms.html index 881e781560d..6a20e62a96b 100644 --- a/libstdc++-v3/doc/html/manual/algorithms.html +++ b/libstdc++-v3/doc/html/manual/algorithms.html @@ -5,5 +5,5 @@ Prev The GNU C++ Library Next

Part IX.  Algorithms - +

diff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html index 91a88c54162..be79816fa64 100644 --- a/libstdc++-v3/doc/html/manual/api.html +++ b/libstdc++-v3/doc/html/manual/api.html @@ -30,9 +30,9 @@ Removal of ext/tree, moved to backward/strstream.h.

Allocator changes. Change __malloc_alloc to malloc_allocator and __new_alloc to new_allocator.

For GCC releases from 2.95 through the 3.1 series, defining __USE_MALLOC on the gcc command line would change the default allocation strategy to instead use malloc and - free. See - this note - for details as to why this was something needing improvement. + free. (This same functionality is now spelled _GLIBCXX_FORCE_NEW, see + this page + for details.

Error handling in iostreams cleaned up, made consistent.

3.3

3.4

@@ -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.hstd::__new_allocmemory
__gnu_cxx::malloc_allocator<T>ext/malloc_allocator.hstd::__malloc_alloc_template<int>memory
__gnu_cxx::debug_allocator<T>ext/debug_allocator.hstd::debug_alloc<T>memory
__gnu_cxx::__pool_alloc<T>ext/pool_allocator.hstd::__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.hstd::__new_allocmemory
__gnu_cxx::malloc_allocator<T>ext/malloc_allocator.hstd::__malloc_alloc_template<int>memory
__gnu_cxx::debug_allocator<T>ext/debug_allocator.hstd::debug_alloc<T>memory
__gnu_cxx::__pool_alloc<T>ext/pool_allocator.hstd::__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

AllocatorIncludeVersion
__gnu_cxx::array_allocator<T>ext/array_allocator.h4.0.0
__gnu_cxx::throw_allocator<T>ext/throw_allocator.h4.2.0

+

Table B.2. Extension Allocators Continued

AllocatorIncludeVersion
__gnu_cxx::array_allocator<T>ext/array_allocator.h4.0.0
__gnu_cxx::throw_allocator<T>ext/throw_allocator.h4.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 b080f96ab6b..0704a6b6f2f 100644 --- a/libstdc++-v3/doc/html/manual/appendix_contributing.html +++ b/libstdc++-v3/doc/html/manual/appendix_contributing.html @@ -5,7 +5,7 @@ Prev The GNU C++ Library Next


Appendix A.  Contributing - +

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 9aea48ecd82..cbb522069be 100644 --- a/libstdc++-v3/doc/html/manual/appendix_free.html +++ b/libstdc++-v3/doc/html/manual/appendix_free.html @@ -5,7 +5,7 @@ Prev The GNU C++ Library Next


Appendix C.  Free Software Needs Free Documentation - +

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 772cb083f7e..d087283907b 100644 --- a/libstdc++-v3/doc/html/manual/appendix_gpl.html +++ b/libstdc++-v3/doc/html/manual/appendix_gpl.html @@ -76,7 +76,7 @@

The precise terms and conditions for copying, distribution and modification follow. -

+

TERMS AND CONDITIONS

0. Definitions. @@ -617,7 +617,7 @@ waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. -

+

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs diff --git a/libstdc++-v3/doc/html/manual/appendix_porting.html b/libstdc++-v3/doc/html/manual/appendix_porting.html index 73d9e8b0cda..b49a2928abb 100644 --- a/libstdc++-v3/doc/html/manual/appendix_porting.html +++ b/libstdc++-v3/doc/html/manual/appendix_porting.html @@ -5,7 +5,7 @@ Prev The GNU C++ Library Next

Appendix B.  Porting and Maintenance - +

Configure and Build Hacking

Prerequisites

As noted previously, certain other tools are necessary for hacking on files that @@ -196,7 +196,7 @@

If you're wondering what that line noise in the last example was, that's how you embed autoconf special characters in output text. - They're called quadrigraphs + They're called quadrigraphs and you should use them whenever necessary.

  • HELP-STRING is what you think it is. Do not include the "default" text like we used to do; it will be done for you by diff --git a/libstdc++-v3/doc/html/manual/auto_ptr.html b/libstdc++-v3/doc/html/manual/auto_ptr.html index 437760424df..88b3397b419 100644 --- a/libstdc++-v3/doc/html/manual/auto_ptr.html +++ b/libstdc++-v3/doc/html/manual/auto_ptr.html @@ -52,7 +52,7 @@ own auto_array_ptr for that situation (in fact, this has been done many times; check the mailing lists, Usenet, Boost, etc).

  • Use in Containers

    -

    All of the containers +

    All of the containers described in the standard library require their contained types to have, among other things, a copy constructor like this:

    @@ -74,7 +74,7 @@
          guaranteed to be messy.
        

    To prevent you from doing this to yourself, the - concept checks built + concept checks built in to this implementation will issue an error if you try to compile code like this:

    diff --git a/libstdc++-v3/doc/html/manual/backwards.html b/libstdc++-v3/doc/html/manual/backwards.html
    index f13370c04cf..2ae9d5f0537 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.

    No 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. -

    No cout in ostream.h, no cin in istream.h

    +

    Known Issues include many of the limitations of its immediate ancestor.

    Portability notes and known implementation limitations are as follows.

    No 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. +

    No cout in ostream.h, no cin in istream.h

    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. -

    Namespace std:: not supported

    +

    Namespace 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. @@ -108,7 +108,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [ AC_DEFINE(HAVE_NAMESPACE_STD,,[Define if g++ supports namespace std. ]) fi ]) -

    Illegal iterator usage

    +

    Illegal iterator usage

    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()) -

    isspace from cctype is a macro +

    isspace from cctype is a macro

    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>). -

    No vector::at, deque::at, string::at

    +

    No vector::at, deque::at, string::at

    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. -

    No std::char_traits<char>::eof

    +

    No std::char_traits<char>::eof

    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
    -

    No string::clear

    +

    No string::clear

    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*)). -

    +

    Removal of ostream::form and istream::scan extensions

    These are no longer supported. Please use stringstreams instead. -

    No basic_stringbuf, basic_stringstream

    +

    No basic_stringbuf, basic_stringstream

    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”. -

    Little or no wide character support

    +

    Little or no wide character support

    Classes wstring and char_traits<wchar_t> are not supported. -

    No templatized iostreams

    +

    No templatized iostreams

    Classes wfilebuf and wstringstream are not supported. -

    Thread safety issues

    +

    Thread safety issues

    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.

    Pre-ISO headers moved to backwards or removed

    The pre-ISO C++ headers +

    Portability notes and known implementation limitations are as follows.

    Pre-ISO headers moved to backwards or removed

    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. -

    Extension headers hash_map, hash_set moved to ext or backwards

    At this time most of the features of the SGI STL extension have been +

    Extension headers hash_map, hash_set moved to ext or backwards

    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 ]) -

    No ios::nocreate/ios::noreplace. +

    No 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 @@ -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 ?). -

    +

    No stream::attach(int fd)

    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. -

    +

    Support for C++98 dialect.

    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
     ])
    -

    +

    Support for C++TR1 dialect.

    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
     ])
    -

    +

    Support for C++0x dialect.

    Check for baseline language coverage in the compiler for the C++0xstandard.

    @@ -899,27 +899,27 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [
         AC_DEFINE(HAVE_UNORDERED_SET,,[Define if unordered_set is present. ])
       fi
     ])
    -

    +

    Container::iterator_type is not necessarily Container::value_type*

    This is a change in behavior from the previous version. Now, most iterator_type typedefs in container classes are POD objects, not value_type pointers. -

    Bibliography

    [ +

    Bibliography

    [ kegel41 ] Migrating to GCC 4.1 . Dan Kegel. - .

    [ + .

    [ kegel41 ] Building the Whole Debian Archive with GCC 4.1: A Summary . Martin Michlmayr. - .

    [ + .

    [ lbl32 ] Migration guide for GCC-3.2 diff --git a/libstdc++-v3/doc/html/manual/bitmap_allocator.html b/libstdc++-v3/doc/html/manual/bitmap_allocator.html index c0e6178a0fb..029753fda8e 100644 --- a/libstdc++-v3/doc/html/manual/bitmap_allocator.html +++ b/libstdc++-v3/doc/html/manual/bitmap_allocator.html @@ -103,7 +103,7 @@ else return false.

    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). -

    Table 32.1. Bitmap Allocator Memory Map

    268042949672954294967295Data -> Space for 64 ints

    +

    Table 32.1. Bitmap Allocator Memory Map

    268042949672954294967295Data -> Space for 64 ints

    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/bk01ix01.html b/libstdc++-v3/doc/html/manual/bk01ix01.html index f311678b494..87410e4932a 100644 --- a/libstdc++-v3/doc/html/manual/bk01ix01.html +++ b/libstdc++-v3/doc/html/manual/bk01ix01.html @@ -1,6 +1,6 @@ -Index

    Index

    A

    Algorithms, +Index

    Index

    A

    Algorithms, Algorithms
    Appendix
    Contributing, diff --git a/libstdc++-v3/doc/html/manual/bk01pt02pr01.html b/libstdc++-v3/doc/html/manual/bk01pt02pr01.html index bcfde213a0c..784412f23ef 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt02pr01.html +++ b/libstdc++-v3/doc/html/manual/bk01pt02pr01.html @@ -3,7 +3,7 @@

    Next


    This part deals with the functions called and objects created automatically during the course of a program's existence.

    diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch08.html b/libstdc++-v3/doc/html/manual/bk01pt03ch08.html index 31e0c44e960..758405f356c 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt03ch08.html +++ b/libstdc++-v3/doc/html/manual/bk01pt03ch08.html @@ -31,7 +31,7 @@

    They are off by default for all versions of GCC. They can be enabled at configure time with - --enable-concept-checks. + --enable-concept-checks. You can enable them on a per-translation-unit basis with -D_GLIBCXX_CONCEPT_CHECKS.

    diff --git a/libstdc++-v3/doc/html/manual/bk01pt09pr02.html b/libstdc++-v3/doc/html/manual/bk01pt09pr02.html index c0c0f3ea389..d5e4fdf4f43 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt09pr02.html +++ b/libstdc++-v3/doc/html/manual/bk01pt09pr02.html @@ -3,7 +3,7 @@

    Next


    The neatest accomplishment of the algorithms chapter is that all the work is done via iterators, not containers directly. This means two important things: @@ -24,13 +24,13 @@ for algorithms, just to keep things simple. The use of N as a size in the examples is to keep things easy to read but probably won't be valid code. You can - use wrappers such as those described in the containers chapter to + use wrappers such as those described in the containers chapter to keep real code readable.

    The single thing that trips people up the most is the definition of range used with iterators; the famous "past-the-end" rule that everybody loves to hate. The - iterators + iterators chapter of this document has a complete explanation of this simple rule that seems to cause so much confusion. Once you get range into your head (it's not that diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch30s03.html b/libstdc++-v3/doc/html/manual/bk01pt12ch30s03.html index 90bb7e1106a..62f46e7303b 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt12ch30s03.html +++ b/libstdc++-v3/doc/html/manual/bk01pt12ch30s03.html @@ -19,6 +19,6 @@ mode or with debug mode. The following table provides the names and headers of the debugging containers: -

    Table 30.1. Debugging Containers

    ContainerHeaderDebug containerDebug header
    std::bitsetbitset__gnu_debug::bitsetbitset
    std::dequedeque__gnu_debug::dequedeque
    std::listlist__gnu_debug::listlist
    std::mapmap__gnu_debug::mapmap
    std::multimapmap__gnu_debug::multimapmap
    std::multisetset__gnu_debug::multisetset
    std::setset__gnu_debug::setset
    std::stringstring__gnu_debug::stringstring
    std::wstringstring__gnu_debug::wstringstring
    std::basic_stringstring__gnu_debug::basic_stringstring
    std::vectorvector__gnu_debug::vectorvector

    In addition, when compiling in C++0x mode, these additional +

    Table 30.1. Debugging Containers

    ContainerHeaderDebug containerDebug header
    std::bitsetbitset__gnu_debug::bitsetbitset
    std::dequedeque__gnu_debug::dequedeque
    std::listlist__gnu_debug::listlist
    std::mapmap__gnu_debug::mapmap
    std::multimapmap__gnu_debug::multimapmap
    std::multisetset__gnu_debug::multisetset
    std::setset__gnu_debug::setset
    std::stringstring__gnu_debug::stringstring
    std::wstringstring__gnu_debug::wstringstring
    std::basic_stringstring__gnu_debug::basic_stringstring
    std::vectorvector__gnu_debug::vectorvector

    In addition, when compiling in C++0x mode, these additional containers have additional debug capability. -

    Table 30.2. Debugging Containers C++0x

    ContainerHeaderDebug containerDebug header
    std::unordered_mapunordered_map__gnu_debug::unordered_mapunordered_map
    std::unordered_multimapunordered_map__gnu_debug::unordered_multimapunordered_map
    std::unordered_setunordered_set__gnu_debug::unordered_setunordered_set
    std::unordered_multisetunordered_set__gnu_debug::unordered_multisetunordered_set

    +

    Table 30.2. Debugging Containers C++0x

    ContainerHeaderDebug containerDebug header
    std::unordered_mapunordered_map__gnu_debug::unordered_mapunordered_map
    std::unordered_multimapunordered_map__gnu_debug::unordered_multimapunordered_map
    std::unordered_setunordered_set__gnu_debug::unordered_setunordered_set
    std::unordered_multisetunordered_set__gnu_debug::unordered_multisetunordered_set

    diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch30s04.html b/libstdc++-v3/doc/html/manual/bk01pt12ch30s04.html index 2aaeef69f4b..32dc8d72c01 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt12ch30s04.html +++ b/libstdc++-v3/doc/html/manual/bk01pt12ch30s04.html @@ -1,7 +1,7 @@ Design

    Design

    -

    Goals

    +

    Goals

    The libstdc++ debug mode replaces unsafe (but efficient) standard containers and iterators with semantically equivalent safe standard containers and iterators to aid in debugging user programs. The @@ -89,7 +89,7 @@ (performance regression) or allocating extra memory associated with each iterator with new (changes the program semantics).

    -

    Methods

    +

    Methods

    This section provides an overall view of the design of the libstdc++ debug mode and details the relationship between design decisions and the stated design goals.

    The Wrapper Model

    The libstdc++ debug mode uses a wrapper model where the @@ -388,7 +388,7 @@ test02() that breaks user specialization), and additional testcases will be added as we are able to identify other typical problem cases. These test cases will serve as a benchmark by which we can compare debug - mode implementations.

    Other Implementations

    + mode implementations.

    Other Implementations

    There are several existing implementations of debug modes for C++ standard library implementations, although none of them directly supports debugging for programs using libstdc++. The existing diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html b/libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html index 9bafdd369a2..26b2e0bd84d 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html +++ b/libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html @@ -63,4 +63,4 @@ Then compile this code with the prerequisite compiler flags flags for atomic operations.)

    The following table provides the names and headers of all the parallel algorithms that can be used in a similar manner: -

    Table 31.1. Parallel Algorithms

    AlgorithmHeaderParallel algorithmParallel header
    std::accumulatenumeric__gnu_parallel::accumulateparallel/numeric
    std::adjacent_differencenumeric__gnu_parallel::adjacent_differenceparallel/numeric
    std::inner_productnumeric__gnu_parallel::inner_productparallel/numeric
    std::partial_sumnumeric__gnu_parallel::partial_sumparallel/numeric
    std::adjacent_findalgorithm__gnu_parallel::adjacent_findparallel/algorithm
    std::countalgorithm__gnu_parallel::countparallel/algorithm
    std::count_ifalgorithm__gnu_parallel::count_ifparallel/algorithm
    std::equalalgorithm__gnu_parallel::equalparallel/algorithm
    std::findalgorithm__gnu_parallel::findparallel/algorithm
    std::find_ifalgorithm__gnu_parallel::find_ifparallel/algorithm
    std::find_first_ofalgorithm__gnu_parallel::find_first_ofparallel/algorithm
    std::for_eachalgorithm__gnu_parallel::for_eachparallel/algorithm
    std::generatealgorithm__gnu_parallel::generateparallel/algorithm
    std::generate_nalgorithm__gnu_parallel::generate_nparallel/algorithm
    std::lexicographical_comparealgorithm__gnu_parallel::lexicographical_compareparallel/algorithm
    std::mismatchalgorithm__gnu_parallel::mismatchparallel/algorithm
    std::searchalgorithm__gnu_parallel::searchparallel/algorithm
    std::search_nalgorithm__gnu_parallel::search_nparallel/algorithm
    std::transformalgorithm__gnu_parallel::transformparallel/algorithm
    std::replacealgorithm__gnu_parallel::replaceparallel/algorithm
    std::replace_ifalgorithm__gnu_parallel::replace_ifparallel/algorithm
    std::max_elementalgorithm__gnu_parallel::max_elementparallel/algorithm
    std::mergealgorithm__gnu_parallel::mergeparallel/algorithm
    std::min_elementalgorithm__gnu_parallel::min_elementparallel/algorithm
    std::nth_elementalgorithm__gnu_parallel::nth_elementparallel/algorithm
    std::partial_sortalgorithm__gnu_parallel::partial_sortparallel/algorithm
    std::partitionalgorithm__gnu_parallel::partitionparallel/algorithm
    std::random_shufflealgorithm__gnu_parallel::random_shuffleparallel/algorithm
    std::set_unionalgorithm__gnu_parallel::set_unionparallel/algorithm
    std::set_intersectionalgorithm__gnu_parallel::set_intersectionparallel/algorithm
    std::set_symmetric_differencealgorithm__gnu_parallel::set_symmetric_differenceparallel/algorithm
    std::set_differencealgorithm__gnu_parallel::set_differenceparallel/algorithm
    std::sortalgorithm__gnu_parallel::sortparallel/algorithm
    std::stable_sortalgorithm__gnu_parallel::stable_sortparallel/algorithm
    std::unique_copyalgorithm__gnu_parallel::unique_copyparallel/algorithm

    +

    Table 31.1. Parallel Algorithms

    AlgorithmHeaderParallel algorithmParallel header
    std::accumulatenumeric__gnu_parallel::accumulateparallel/numeric
    std::adjacent_differencenumeric__gnu_parallel::adjacent_differenceparallel/numeric
    std::inner_productnumeric__gnu_parallel::inner_productparallel/numeric
    std::partial_sumnumeric__gnu_parallel::partial_sumparallel/numeric
    std::adjacent_findalgorithm__gnu_parallel::adjacent_findparallel/algorithm
    std::countalgorithm__gnu_parallel::countparallel/algorithm
    std::count_ifalgorithm__gnu_parallel::count_ifparallel/algorithm
    std::equalalgorithm__gnu_parallel::equalparallel/algorithm
    std::findalgorithm__gnu_parallel::findparallel/algorithm
    std::find_ifalgorithm__gnu_parallel::find_ifparallel/algorithm
    std::find_first_ofalgorithm__gnu_parallel::find_first_ofparallel/algorithm
    std::for_eachalgorithm__gnu_parallel::for_eachparallel/algorithm
    std::generatealgorithm__gnu_parallel::generateparallel/algorithm
    std::generate_nalgorithm__gnu_parallel::generate_nparallel/algorithm
    std::lexicographical_comparealgorithm__gnu_parallel::lexicographical_compareparallel/algorithm
    std::mismatchalgorithm__gnu_parallel::mismatchparallel/algorithm
    std::searchalgorithm__gnu_parallel::searchparallel/algorithm
    std::search_nalgorithm__gnu_parallel::search_nparallel/algorithm
    std::transformalgorithm__gnu_parallel::transformparallel/algorithm
    std::replacealgorithm__gnu_parallel::replaceparallel/algorithm
    std::replace_ifalgorithm__gnu_parallel::replace_ifparallel/algorithm
    std::max_elementalgorithm__gnu_parallel::max_elementparallel/algorithm
    std::mergealgorithm__gnu_parallel::mergeparallel/algorithm
    std::min_elementalgorithm__gnu_parallel::min_elementparallel/algorithm
    std::nth_elementalgorithm__gnu_parallel::nth_elementparallel/algorithm
    std::partial_sortalgorithm__gnu_parallel::partial_sortparallel/algorithm
    std::partitionalgorithm__gnu_parallel::partitionparallel/algorithm
    std::random_shufflealgorithm__gnu_parallel::random_shuffleparallel/algorithm
    std::set_unionalgorithm__gnu_parallel::set_unionparallel/algorithm
    std::set_intersectionalgorithm__gnu_parallel::set_intersectionparallel/algorithm
    std::set_symmetric_differencealgorithm__gnu_parallel::set_symmetric_differenceparallel/algorithm
    std::set_differencealgorithm__gnu_parallel::set_differenceparallel/algorithm
    std::sortalgorithm__gnu_parallel::sortparallel/algorithm
    std::stable_sortalgorithm__gnu_parallel::stable_sortparallel/algorithm
    std::unique_copyalgorithm__gnu_parallel::unique_copyparallel/algorithm

    diff --git a/libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html b/libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html index bd6f768d699..26ea42d8398 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html +++ b/libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html @@ -1,7 +1,7 @@ Design

    Design

    -

    Interface Basics

    +

    Interface Basics

    All parallel algorithms are intended to have signatures that are equivalent to the ISO C++ algorithms replaced. For instance, the std::adjacent_find function is declared as: @@ -42,7 +42,7 @@ algorithms/algorithm classes.

    The general view of overloads for the paral ISO C++ signature to the correct parallel version. Also, some of the algorithms do not have support for run-time conditions, so the last overload is therefore missing. -

    Configuration and Tuning

    Setting up the OpenMP Environment

    +

    Configuration and Tuning

    Setting up the OpenMP Environment

    Several aspects of the overall runtime environment can be manipulated by standard OpenMP function calls.

    @@ -194,7 +194,7 @@ int main() return 0; } -

    Implementation Namespaces

    One namespace contain versions of code that are always +

    Implementation Namespaces

    One namespace contain versions of code that are always explicitly sequential: __gnu_serial.

    Two namespaces contain the parallel mode: diff --git a/libstdc++-v3/doc/html/manual/bk01pt12pr03.html b/libstdc++-v3/doc/html/manual/bk01pt12pr03.html index f4bc91d10f9..8d187bf61ee 100644 --- a/libstdc++-v3/doc/html/manual/bk01pt12pr03.html +++ b/libstdc++-v3/doc/html/manual/bk01pt12pr03.html @@ -3,7 +3,7 @@

    Next


    Here we will make an attempt at describing the non-Standard extensions to the library. Some of these are from SGI's STL, some of these are GNU's, and some just seemed to appear on the doorstep. @@ -19,8 +19,7 @@ extensions, be aware of two things: versions of g++ or libstdc++ may not recognize these names, or treat them differently, or...

  • - You should know how to access - these headers properly. + You should know how to access these headers properly.

  • diff --git a/libstdc++-v3/doc/html/manual/debug_mode.html b/libstdc++-v3/doc/html/manual/debug_mode.html index 2ee76137f10..bebd380b89b 100644 --- a/libstdc++-v3/doc/html/manual/debug_mode.html +++ b/libstdc++-v3/doc/html/manual/debug_mode.html @@ -3,7 +3,7 @@ Chapter 30. Debug Mode

    Chapter 30. Debug Mode

    Intro

    Next


    Chapter 30. Debug Mode

    Intro

    By default, libstdc++ is built with efficiency in mind, and therefore performs little or no error checking that is not required by the C++ standard. This means that programs that diff --git a/libstdc++-v3/doc/html/manual/diagnostics.html b/libstdc++-v3/doc/html/manual/diagnostics.html index f9f03cb322a..0de3c941e50 100644 --- a/libstdc++-v3/doc/html/manual/diagnostics.html +++ b/libstdc++-v3/doc/html/manual/diagnostics.html @@ -5,5 +5,5 @@ Prev The GNU C++ Library Next


    diff --git a/libstdc++-v3/doc/html/manual/documentation_style.html b/libstdc++-v3/doc/html/manual/documentation_style.html index 64309ebd9e6..7dae04eb9f3 100644 --- a/libstdc++-v3/doc/html/manual/documentation_style.html +++ b/libstdc++-v3/doc/html/manual/documentation_style.html @@ -211,11 +211,11 @@ Complete details on Docbook markup can be found in the DocBook Element Reference, online. An incomplete reference for HTML to Docbook conversion is detailed in the table below. -

    Table A.1. HTML to Docbook XML markup comparison

    HTMLXML
    <p><para>
    <pre><computeroutput>, <programlisting>, +

    Table A.1. HTML to Docbook XML markup comparison

    HTMLXML
    <p><para>
    <pre><computeroutput>, <programlisting>, <literallayout>
    <ul><itemizedlist>
    <ol><orderedlist>
    <il><listitem>
    <dl><variablelist>
    <dt><term>
    <dd><listitem>
    <a href=""><ulink url="">
    <code><literal>, <programlisting>
    <strong><emphasis>
    <em><emphasis>
    "<quote>

    And examples of detailed markup for which there are no real HTML equivalents are listed in the table below. -

    Table A.2. Docbook XML Element Use

    ElementUse
    <structname><structname>char_traits</structname>
    <classname><classname>string</classname>
    <function> +

    Table A.2. Docbook XML Element Use

    ElementUse
    <structname><structname>char_traits</structname>
    <classname><classname>string</classname>
    <function>

    <function>clear()</function>

    <function>fs.clear()</function>

    <type><type>long long</type>
    <varname><varname>fs</varname>
    <literal> diff --git a/libstdc++-v3/doc/html/manual/exceptions.html b/libstdc++-v3/doc/html/manual/exceptions.html index 83ce7f13d50..74bcdebe14f 100644 --- a/libstdc++-v3/doc/html/manual/exceptions.html +++ b/libstdc++-v3/doc/html/manual/exceptions.html @@ -15,7 +15,7 @@

    Derived from this are several classes that may have a string member: a full hierarchy can be - found in the source documentation. + found in the source documentation.

    + + diff --git a/libstdc++-v3/doc/html/manual/facets.html b/libstdc++-v3/doc/html/manual/facets.html index 293b33f6b7a..c034c52d29f 100644 --- a/libstdc++-v3/doc/html/manual/facets.html +++ b/libstdc++-v3/doc/html/manual/facets.html @@ -3,7 +3,7 @@ Chapter 15. Facets aka Categories

    Chapter 15. Facets aka Categories

    ctype

    Implementation

    Specializations

    +

     Next

    Chapter 15. Facets aka Categories

    ctype

    Implementation

    Specializations

    For the required specialization codecvt<wchar_t, char, mbstate_t> , conversions are made between the internal character set (always UCS4 on GNU/Linux) and whatever the currently selected locale for the @@ -50,25 +50,25 @@ characters.

  • Rename abstract base class. See if just smash-overriding is a better approach. Clarify, add sanity to naming. -

  • Bibliography

    +

    Bibliography

    The GNU C Library - . Roland McGrath. Ulrich Drepper. Copyright © 2007 FSF. Chapters 6 Character Set Handling and 7 Locales and Internationalization.

    + . Roland McGrath. Ulrich Drepper. Copyright © 2007 FSF. Chapters 6 Character Set Handling and 7 Locales and Internationalization.

    Correspondence - . Ulrich Drepper. Copyright © 2002 .

    + . Ulrich Drepper. Copyright © 2002 .

    ISO/IEC 14882:1998 Programming languages - C++ - . Copyright © 1998 ISO.

    + . Copyright © 1998 ISO.

    ISO/IEC 9899:1999 Programming languages - C - . Copyright © 1999 ISO.

    + . Copyright © 1999 ISO.

    System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) . Copyright © 1999 The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. - .

    + .

    The C++ Programming Language, Special Edition . Bjarne Stroustrup. Copyright © 2000 Addison Wesley, Inc.. Appendix D. Addison Wesley - .

    + .

    Standard C++ IOStreams and Locales . Advanced Programmer's Guide and Reference diff --git a/libstdc++-v3/doc/html/manual/intro.html b/libstdc++-v3/doc/html/manual/intro.html index 9ad54c0c87b..ab564b9794a 100644 --- a/libstdc++-v3/doc/html/manual/intro.html +++ b/libstdc++-v3/doc/html/manual/intro.html @@ -5,5 +5,5 @@

    Prev The GNU C++ Library Next

    diff --git a/libstdc++-v3/doc/html/manual/io.html b/libstdc++-v3/doc/html/manual/io.html index 579c0f2449f..7095c81a791 100644 --- a/libstdc++-v3/doc/html/manual/io.html +++ b/libstdc++-v3/doc/html/manual/io.html @@ -5,5 +5,5 @@
    Prev The GNU C++ Library Next

    diff --git a/libstdc++-v3/doc/html/manual/iterators.html b/libstdc++-v3/doc/html/manual/iterators.html index aa5a5806764..f0d1db046f7 100644 --- a/libstdc++-v3/doc/html/manual/iterators.html +++ b/libstdc++-v3/doc/html/manual/iterators.html @@ -5,5 +5,5 @@ Prev The GNU C++ Library Next

    Part VIII.  Iterators - +

    diff --git a/libstdc++-v3/doc/html/manual/locales.html b/libstdc++-v3/doc/html/manual/locales.html index 39145e1597b..ea30f5f4916 100644 --- a/libstdc++-v3/doc/html/manual/locales.html +++ b/libstdc++-v3/doc/html/manual/locales.html @@ -398,25 +398,25 @@ global locale" (emphasis Paolo), that is: What should non-required facet instantiations do? If the generic implementation is provided, then how to end-users provide specializations? -

    Bibliography

    +

    Bibliography

    The GNU C Library - . Roland McGrath. Ulrich Drepper. Copyright © 2007 FSF. Chapters 6 Character Set Handling and 7 Locales and Internationalization.

    + . Roland McGrath. Ulrich Drepper. Copyright © 2007 FSF. Chapters 6 Character Set Handling and 7 Locales and Internationalization.

    Correspondence - . Ulrich Drepper. Copyright © 2002 .

    + . Ulrich Drepper. Copyright © 2002 .

    ISO/IEC 14882:1998 Programming languages - C++ - . Copyright © 1998 ISO.

    + . Copyright © 1998 ISO.

    ISO/IEC 9899:1999 Programming languages - C - . Copyright © 1999 ISO.

    + . Copyright © 1999 ISO.

    System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) . Copyright © 1999 The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. - .

    + .

    The C++ Programming Language, Special Edition . Bjarne Stroustrup. Copyright © 2000 Addison Wesley, Inc.. Appendix D. Addison Wesley - .

    + .

    Standard C++ IOStreams and Locales . Advanced Programmer's Guide and Reference diff --git a/libstdc++-v3/doc/html/manual/localization.html b/libstdc++-v3/doc/html/manual/localization.html index 8d1c0accaa6..487475ad02f 100644 --- a/libstdc++-v3/doc/html/manual/localization.html +++ b/libstdc++-v3/doc/html/manual/localization.html @@ -5,5 +5,5 @@ Prev The GNU C++ Library Next


    diff --git a/libstdc++-v3/doc/html/manual/memory.html b/libstdc++-v3/doc/html/manual/memory.html index 6fa78a6fb27..188e34e215d 100644 --- a/libstdc++-v3/doc/html/manual/memory.html +++ b/libstdc++-v3/doc/html/manual/memory.html @@ -93,7 +93,7 @@ or loading and unloading shared objects in memory. As such, using caching allocators on systems that do not support abi::__cxa_atexit is not recommended. -

    Implementation

    Interface Design

    +

    Implementation

    Interface Design

    The only allocator interface that is support is the standard C++ interface. As such, all STL containers have been adjusted, and all external allocators have @@ -106,7 +106,7 @@

    The base class that allocator is derived from may not be user-configurable. -

    Selecting Default Allocation Policy

    +

    Selecting Default Allocation Policy

    It's difficult to pick an allocation strategy that will provide maximum utility, without excessively penalizing some behavior. In fact, it's difficult just deciding which typical actions to measure @@ -143,7 +143,7 @@ The current default choice for allocator is __gnu_cxx::new_allocator. -

    Disabling Memory Caching

    +

    Disabling Memory Caching

    In use, allocator may allocate and deallocate using implementation-specified strategies and heuristics. Because of this, every call to an allocator object's @@ -308,11 +308,11 @@ A high-performance allocator that uses a bit-map to keep track of the used and unused memory locations. It has its own documentation, found here. -

    Bibliography

    +

    Bibliography

    ISO/IEC 14882:1998 Programming languages - C++ . isoc++_1998 - 20.4 Memory.

    The Standard Librarian: What Are Allocators Good + 20.4 Memory.

    The Standard Librarian: What Are Allocators Good . austernm Matt Austern. @@ -320,28 +320,28 @@ . - .

    The Hoard Memory Allocator. + .

    The Hoard Memory Allocator. emeryb Emery Berger. - .

    Reconsidering Custom Memory Allocation. + .

    Reconsidering Custom Memory Allocation. bergerzorn Emery Berger. Ben Zorn. Kathryn McKinley. Copyright © 2002 OOPSLA. - .

    Allocator Types. + .

    Allocator Types. kreftlanger Klaus Kreft. Angelika Langer. C/C++ Users Journal . - .

    The C++ Programming Language. + .

    The C++ Programming Language. tcpl Bjarne Stroustrup. Copyright © 2000 . 19.4 Allocators. Addison Wesley - .

    Yalloc: A Recycling C++ Allocator. + .

    Bibliography

    +

    Bibliography

    The GNU C Library . Roland McGrath. Ulrich Drepper. Copyright © 2007 FSF. Chapters 6 Character Set Handling, and 7 Locales and Internationalization - .

    + .

    Correspondence - . Ulrich Drepper. Copyright © 2002 .

    + . Ulrich Drepper. Copyright © 2002 .

    ISO/IEC 14882:1998 Programming languages - C++ - . Copyright © 1998 ISO.

    + . Copyright © 1998 ISO.

    ISO/IEC 9899:1999 Programming languages - C - . Copyright © 1999 ISO.

    + . Copyright © 1999 ISO.

    System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) . Copyright © 1999 The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. - .

    + .

    The C++ Programming Language, Special Edition . Bjarne Stroustrup. Copyright © 2000 Addison Wesley, Inc.. Appendix D. Addison Wesley - .

    + .

    Standard C++ IOStreams and Locales . Advanced Programmer's Guide and Reference . Angelika Langer. Klaus Kreft. Copyright © 2000 Addison Wesley Longman, Inc.. Addison Wesley Longman - .

    + .

    Java 2 Platform, Standard Edition, v 1.3.1 API Specification . java.util.Properties, java.text.MessageFormat, java.util.Locale, java.util.ResourceBundle. - .

    + .

    GNU gettext tools, version 0.10.38, Native Language Support Library and Tools. . diff --git a/libstdc++-v3/doc/html/manual/numerics.html b/libstdc++-v3/doc/html/manual/numerics.html index cd062c0b9f4..b01d58cc19d 100644 --- a/libstdc++-v3/doc/html/manual/numerics.html +++ b/libstdc++-v3/doc/html/manual/numerics.html @@ -5,5 +5,5 @@ Prev The GNU C++ Library Next


    diff --git a/libstdc++-v3/doc/html/manual/parallel_mode.html b/libstdc++-v3/doc/html/manual/parallel_mode.html index b6939615634..e6d4e54b85b 100644 --- a/libstdc++-v3/doc/html/manual/parallel_mode.html +++ b/libstdc++-v3/doc/html/manual/parallel_mode.html @@ -3,7 +3,7 @@ Chapter 31. Parallel Mode

    Chapter 31. Parallel Mode

    The libstdc++ parallel mode is an experimental parallel implementation of many algorithms the C++ Standard Library.

    Several of the standard algorithms, for instance @@ -13,11 +13,11 @@ explicit source declaration or by compiling existing sources with a specific compiler flag.

    Intro

    The following library components in the include numeric are included in the parallel mode:

    • std::accumulate

    • std::adjacent_difference

    • std::inner_product

    • std::partial_sum

    The following library components in the include -algorithm are included in the parallel mode:

    • std::adjacent_find

    • std::count

    • std::count_if

    • std::equal

    • std::find

    • std::find_if

    • std::find_first_of

    • std::for_each

    • std::generate

    • std::generate_n

    • std::lexicographical_compare

    • std::mismatch

    • std::search

    • std::search_n

    • std::transform

    • std::replace

    • std::replace_if

    • std::max_element

    • std::merge

    • std::min_element

    • std::nth_element

    • std::partial_sort

    • std::partition

    • std::random_shuffle

    • std::set_union

    • std::set_intersection

    • std::set_symmetric_difference

    • std::set_difference

    • std::sort

    • std::stable_sort

    • std::unique_copy

    Bibliography

    +algorithm are included in the parallel mode:

    • std::adjacent_find

    • std::count

    • std::count_if

    • std::equal

    • std::find

    • std::find_if

    • std::find_first_of

    • std::for_each

    • std::generate

    • std::generate_n

    • std::lexicographical_compare

    • std::mismatch

    • std::search

    • std::search_n

    • std::transform

    • std::replace

    • std::replace_if

    • std::max_element

    • std::merge

    • std::min_element

    • std::nth_element

    • std::partial_sort

    • std::partition

    • std::random_shuffle

    • std::set_union

    • std::set_intersection

    • std::set_symmetric_difference

    • std::set_difference

    • std::sort

    • std::stable_sort

    • std::unique_copy

    Bibliography

    Parallelization of Bulk Operations for STL Dictionaries . Johannes Singler. Leonor Frias. Copyright © 2007 . Workshop on Highly Parallel Processing on a Chip (HPPC) 2007. (LNCS) - .

    + .

    The Multi-Core Standard Template Library . Johannes Singler. Peter Sanders. Felix Putze. Copyright © 2007 . Euro-Par 2007: Parallel Processing. (LNCS 4641) diff --git a/libstdc++-v3/doc/html/manual/shared_ptr.html b/libstdc++-v3/doc/html/manual/shared_ptr.html index 3538b9e43fb..20ffa4ab8f7 100644 --- a/libstdc++-v3/doc/html/manual/shared_ptr.html +++ b/libstdc++-v3/doc/html/manual/shared_ptr.html @@ -29,7 +29,7 @@ drops to zero. Derived classes override those functions to destroy resources in a context where the correct dynamic type is known. This is an application of the technique known as type erasure. -

    Implementation

    Class Hierarchy

    +

    Implementation

    Class Hierarchy

    A shared_ptr<T> contains a pointer of type T* and an object of type __shared_count. The shared_count contains a @@ -71,7 +71,7 @@ be forwarded to Tp's constructor. Unlike the other _Sp_counted_* classes, this one is parameterized on the type of object, not the type of pointer; this is purely a convenience that simplifies the implementation slightly. -

    Thread Safety

    +

    Thread Safety

    The interface of tr1::shared_ptr was extended for C++0x with support for rvalue-references and the other features from N2351. As with other libstdc++ headers shared by TR1 and C++0x, @@ -129,7 +129,7 @@ compiler, standard library, platform etc. For the version of shared_ptr in libstdc++ the compiler and library are fixed, which makes things much simpler: we have an atomic CAS or we don't, see Lock Policy below for details. -

    Selecting Lock Policy

    +

    Selecting Lock Policy

    There is a single _Sp_counted_base class, which is a template parameterized on the enum @@ -170,7 +170,7 @@ used when libstdc++ is built without --enable-threadsext/atomicity.h, which detect if the program is multi-threaded. If only one thread of execution exists in the program then less expensive non-atomic operations are used. -

    Dual C++0x and TR1 Implementation

    +

    Dual C++0x and TR1 Implementation

    The classes derived from _Sp_counted_base (see Class Hierarchy below) and __shared_count are implemented separately for C++0x and TR1, in bits/boost_sp_shared_count.h and @@ -181,7 +181,7 @@ The TR1 implementation is considered relatively stable, so is unlikely to change unless bug fixes require it. If the code that is common to both C++0x and TR1 modes needs to diverge further then it might be necessary to duplicate additional classes and only make changes to the C++0x versions. -

    Related functions and classes

    dynamic_pointer_cast, static_pointer_cast, +

    Related functions and classes

    dynamic_pointer_cast, static_pointer_cast, const_pointer_cast

    As noted in N2351, these functions can be implemented non-intrusively using the alias constructor. However the aliasing constructor is only available @@ -214,10 +214,10 @@ is called. Users should not try to use this. As well as the extra constructors, this implementation also needs some members of _Sp_counted_deleter to be protected where they could otherwise be private. -

    Use

    Examples

    +

    Use

    Examples

    Examples of use can be found in the testsuite, under testsuite/tr1/2_general_utilities/shared_ptr. -

    Unresolved Issues

    +

    Unresolved Issues

    The resolution to C++ Standard Library issue 674, "shared_ptr interface changes for consistency with N1856" will need to be implemented after it is accepted into the working @@ -265,7 +265,7 @@ be private. code to work with, Peter Dimov in particular for his help and invaluable advice on thread safety. Phillip Jordan and Paolo Carlini for the lock policy implementation. -

    Bibliography

    [ +

    Bibliography

    [ n2351 ] Improving shared_ptr for C++0x, Revision 2 @@ -274,7 +274,7 @@ be private. . - .

    [ + .

    [ n2456 ] C++ Standard Library Active Issues List (Revision R52) @@ -283,7 +283,7 @@ be private. . - .

    [ + .

    [ n2461 ] Working Draft, Standard for Programming Language C++ @@ -292,7 +292,7 @@ be private. . - .

    [ + .

    [ boostshared_ptr ] Boost C++ Libraries documentation - shared_ptr class template diff --git a/libstdc++-v3/doc/html/manual/spine.html b/libstdc++-v3/doc/html/manual/spine.html index 735521516f1..02bfcf3c500 100644 --- a/libstdc++-v3/doc/html/manual/spine.html +++ b/libstdc++-v3/doc/html/manual/spine.html @@ -2,7 +2,7 @@ The GNU C++ Library

    The GNU C++ Library


    Table of Contents

    I. Introduction @@ -40,7 +40,7 @@
    24. Iostream Objects
    25. Stream Buffers
    Derived streambuf Classes
    Buffering
    26. Memory Based Streams
    Compatibility With strstream
    27. File Based Streams
    Copying a File
    Binary Input and Output
    28. Interacting with C
    Using FILE* and file descriptors
    Performance
    XII. Extensions -
    29. Compile Time Checks
    30. Debug Mode
    Intro
    Semantics
    Using
    Using the Debug Mode
    Using a Specific Debug Container
    Design
    Goals
    Methods
    Other Implementations
    31. Parallel Mode
    Intro
    Semantics
    Using
    Prerequisite Compiler Flags
    Using Parallel Mode
    Using Specific Parallel Components
    Design
    Interface Basics
    Configuration and Tuning
    Implementation Namespaces
    Testing
    Bibliography
    32. Allocators
    mt_allocator
    Intro
    Design Issues
    Implementation
    Single Thread Example
    Multiple Thread Example
    bitmap_allocator
    Design
    Implementation
    33. Containers
    Policy Based Data Structures
    HP/SGI
    Deprecated HP/SGI
    34. Utilities
    35. Algorithms
    36. Numerics
    37. Iterators
    38. Input and Output
    Derived filebufs
    39. Demangling
    40. Concurrency
    Design
    Interface to Locks and Mutexes
    Interface to Atomic Functions
    Implementation
    Using Builtin Atomic Functions
    Thread Abstraction
    Use
    A. +
    29. Compile Time Checks
    30. Debug Mode
    Intro
    Semantics
    Using
    Using the Debug Mode
    Using a Specific Debug Container
    Design
    Goals
    Methods
    Other Implementations
    31. Parallel Mode
    Intro
    Semantics
    Using
    Prerequisite Compiler Flags
    Using Parallel Mode
    Using Specific Parallel Components
    Design
    Interface Basics
    Configuration and Tuning
    Implementation Namespaces
    Testing
    Bibliography
    32. Allocators
    mt_allocator
    Intro
    Design Issues
    Implementation
    Single Thread Example
    Multiple Thread Example
    bitmap_allocator
    Design
    Implementation
    33. Containers
    Policy Based Data Structures
    HP/SGI
    Deprecated HP/SGI
    34. Utilities
    35. Algorithms
    36. Numerics
    37. Iterators
    38. Input and Output
    Derived filebufs
    39. Demangling
    40. Concurrency
    Design
    Interface to Locks and Mutexes
    Interface to Atomic Functions
    Implementation
    Using Builtin Atomic Functions
    Thread Abstraction
    Use
    A. Contributing
    Contributor Checklist
    Reading
    Assignment
    Getting Sources
    Submitting Patches
    Directory Layout and Source Conventions
    Coding Style
    Bad Identifiers
    By Example
    Documentation Style
    Doxygen
    Docbook
    Design Notes
    B. @@ -51,7 +51,7 @@
    D. GNU General Public License version 3 -
    E. GNU Free Documentation License
    Index