From: Jonathan Wakely Date: Tue, 13 Oct 2020 15:43:11 +0000 (+0100) Subject: libstdc++: Remove trailing whitespace from XML docs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=16d0b033ca4d3dd1331c58730c7944ae6e648a14;p=gcc.git libstdc++: Remove trailing whitespace from XML docs libstdc++-v3/ChangeLog: * doc/xml/book.txml: Remove trailing whitespace. * doc/xml/chapter.txml: Likewise. * doc/xml/class.txml: Likewise. * doc/xml/gnu/fdl-1.3.xml: Likewise. * doc/xml/gnu/gpl-3.0.xml: Likewise. * doc/xml/manual/abi.xml: Likewise. * doc/xml/manual/algorithms.xml: Likewise. * doc/xml/manual/allocator.xml: Likewise. * doc/xml/manual/appendix_contributing.xml: Likewise. * doc/xml/manual/appendix_free.xml: Likewise. * doc/xml/manual/appendix_porting.xml: Likewise. * doc/xml/manual/atomics.xml: Likewise. * doc/xml/manual/auto_ptr.xml: Likewise. * doc/xml/manual/backwards_compatibility.xml: Likewise. * doc/xml/manual/bitmap_allocator.xml: Likewise. * doc/xml/manual/build_hacking.xml: Likewise. * doc/xml/manual/codecvt.xml: Likewise. * doc/xml/manual/concurrency.xml: Likewise. * doc/xml/manual/concurrency_extensions.xml: Likewise. * doc/xml/manual/configure.xml: Likewise. * doc/xml/manual/containers.xml: Likewise. * doc/xml/manual/ctype.xml: Likewise. * doc/xml/manual/debug.xml: Likewise. * doc/xml/manual/debug_mode.xml: Likewise. * doc/xml/manual/diagnostics.xml: Likewise. * doc/xml/manual/documentation_hacking.xml: Likewise. * doc/xml/manual/evolution.xml: Likewise. * doc/xml/manual/internals.xml: Likewise. * doc/xml/manual/intro.xml: Likewise. * doc/xml/manual/io.xml: Likewise. * doc/xml/manual/iterators.xml: Likewise. * doc/xml/manual/locale.xml: Likewise. * doc/xml/manual/localization.xml: Likewise. * doc/xml/manual/messages.xml: Likewise. * doc/xml/manual/mt_allocator.xml: Likewise. * doc/xml/manual/numerics.xml: Likewise. * doc/xml/manual/parallel_mode.xml: Likewise. * doc/xml/manual/policy_data_structures.xml: Likewise. * doc/xml/manual/prerequisites.xml: Likewise. * doc/xml/manual/shared_ptr.xml: Likewise. * doc/xml/manual/spine.xml: Likewise. * doc/xml/manual/status_cxxtr1.xml: Likewise. * doc/xml/manual/status_cxxtr24733.xml: Likewise. * doc/xml/manual/strings.xml: Likewise. * doc/xml/manual/support.xml: Likewise. * doc/xml/manual/test.xml: Likewise. * doc/xml/manual/test_policy_data_structures.xml: Likewise. * doc/xml/manual/using.xml: Likewise. * doc/xml/manual/using_exceptions.xml: Likewise. * doc/xml/manual/utilities.xml: Likewise. * doc/html/*: Regenerate. --- diff --git a/libstdc++-v3/doc/html/index.html b/libstdc++-v3/doc/html/index.html index 930b352f0c2..02e91b1fb3e 100644 --- a/libstdc++-v3/doc/html/index.html +++ b/libstdc++-v3/doc/html/index.html @@ -96,9 +96,9 @@
Order-Statistics
Multimap
- Text find with Small Secondary-to-Primary Key Ratios + Text find with Small Secondary-to-Primary Key Ratios
- Text find with Large Secondary-to-Primary Key Ratios + Text find with Large Secondary-to-Primary Key Ratios
Text insert with Small Secondary-to-Primary Key Ratios diff --git a/libstdc++-v3/doc/html/manual/appendix_porting.html b/libstdc++-v3/doc/html/manual/appendix_porting.html index 129eeff3492..cdd75720550 100644 --- a/libstdc++-v3/doc/html/manual/appendix_porting.html +++ b/libstdc++-v3/doc/html/manual/appendix_porting.html @@ -52,7 +52,7 @@ The configure file is a script generated (via autoconf) from the file configure.ac.

- After the configure process is complete, + After the configure process is complete,

 
 make all
@@ -62,7 +62,7 @@ in the build directory starts the build process. The allautomake) from the file
 Makefile.am.
 

What Comes from Where

Figure B.1. Configure and Build File Dependencies

Dependency Graph for Configure and Build Files

- Regenerate all generated files by using the command + Regenerate all generated files by using the command autoreconf at the top level of the libstdc++ source directory.

Configure

Storing Information in non-AC files (like configure.host)

diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html index 7ca9efce747..0024e631c80 100644 --- a/libstdc++-v3/doc/html/manual/configure.html +++ b/libstdc++-v3/doc/html/manual/configure.html @@ -193,7 +193,7 @@ additional requirements are necessary and present for activation, and if so, will turn symbol versioning on. This option can change the library ABI. -

--enable-libstdcxx-visibility

In 4.2 and later, enables or disables visibility +

--enable-libstdcxx-visibility

In 4.2 and later, enables or disables visibility attributes. If enabled (as by default), and the compiler seems capable of passing the simple sanity checks thrown at it, adjusts items in namespace std, namespace std::tr1, namespace std::tr2, @@ -210,10 +210,10 @@ --include bits/stdc++.h to CXXFLAGS) when running the testsuite.

--enable-extern-template[default]

Use extern template to pre-instantiate all required - specializations for certain types defined in the standard libraries. + specializations for certain types defined in the standard libraries. These types include string and dependents like char_traits, the templatized IO classes, - allocator, and others. + allocator, and others. Disabling means that implicit template generation will be used when compiling these types. By default, this option is on. This option can change the library ABI. diff --git a/libstdc++-v3/doc/html/manual/debug.html b/libstdc++-v3/doc/html/manual/debug.html index cdf01bd1995..d85685dce9c 100644 --- a/libstdc++-v3/doc/html/manual/debug.html +++ b/libstdc++-v3/doc/html/manual/debug.html @@ -135,7 +135,7 @@ All synchronization primitives used in the library internals need to be understood by race detectors so that they do not produce false reports.

- Two annotation macros are used to explain low-level synchronization + Two annotation macros are used to explain low-level synchronization to race detectors: _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE() and _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(). @@ -157,8 +157,8 @@ that are affected by the annotation macros, which can be done by recompiling individual files. Annotating std::string and std::wstring - reference counting can be done by disabling extern templates (by defining - _GLIBCXX_EXTERN_TEMPLATE=-1) or by rebuilding the + reference counting can be done by disabling extern templates (by defining + _GLIBCXX_EXTERN_TEMPLATE=-1) or by rebuilding the src/string-inst.cc file. Annotating the remaining atomic operations (at the time of writing these are in ios_base::Init::~Init, locale::_Impl, @@ -169,9 +169,9 @@ detection tools: DRD, - + Helgrind, and - + ThreadSanitizer (this refers to ThreadSanitizer v1, not the new "tsan" feature built-in to GCC itself).

diff --git a/libstdc++-v3/doc/html/manual/documentation_hacking.html b/libstdc++-v3/doc/html/manual/documentation_hacking.html index 0de98a5ff94..f6f32fbda63 100644 --- a/libstdc++-v3/doc/html/manual/documentation_hacking.html +++ b/libstdc++-v3/doc/html/manual/documentation_hacking.html @@ -118,7 +118,7 @@ the GNU coreutils. (GNU versions of find, xargs, and possibly sed and grep are used, just because the GNU versions make - things very easy.) + things very easy.)

To generate the pretty pictures and hierarchy graphs, the diff --git a/libstdc++-v3/doc/html/manual/extensions.html b/libstdc++-v3/doc/html/manual/extensions.html index e5836efa85d..82bf42e54b0 100644 --- a/libstdc++-v3/doc/html/manual/extensions.html +++ b/libstdc++-v3/doc/html/manual/extensions.html @@ -37,9 +37,9 @@

Order-Statistics
Multimap
- Text find with Small Secondary-to-Primary Key Ratios + Text find with Small Secondary-to-Primary Key Ratios
- Text find with Large Secondary-to-Primary Key Ratios + Text find with Large Secondary-to-Primary Key Ratios
Text insert with Small Secondary-to-Primary Key Ratios diff --git a/libstdc++-v3/doc/html/manual/facets.html b/libstdc++-v3/doc/html/manual/facets.html index 0fe14cd1218..0ca45e3cc4e 100644 --- a/libstdc++-v3/doc/html/manual/facets.html +++ b/libstdc++-v3/doc/html/manual/facets.html @@ -522,7 +522,7 @@ A couple of notes on the standard. First, why is messages_base::catalog specified as a typedef to int? This makes sense for implementations that use catopen and define nl_catd as int, but not for -others. Fortunately, it's not heavily used and so only a minor irritant. +others. Fortunately, it's not heavily used and so only a minor irritant. This has been reported as a possible defect in the standard (LWG 2028).

Second, by making the member functions const, it is diff --git a/libstdc++-v3/doc/html/manual/index.html b/libstdc++-v3/doc/html/manual/index.html index 3c13646addd..dba3406ed4f 100644 --- a/libstdc++-v3/doc/html/manual/index.html +++ b/libstdc++-v3/doc/html/manual/index.html @@ -77,9 +77,9 @@

Order-Statistics
Multimap
- Text find with Small Secondary-to-Primary Key Ratios + Text find with Small Secondary-to-Primary Key Ratios
- Text find with Large Secondary-to-Primary Key Ratios + Text find with Large Secondary-to-Primary Key Ratios
Text insert with Small Secondary-to-Primary Key Ratios diff --git a/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html b/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html index 0c2de38ffa7..7585a59e3f4 100644 --- a/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html +++ b/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html @@ -1462,7 +1462,7 @@ with Tag = rb_tree_tag ) is logarithmic in the number of elements. Consequently, the splay tree has worse performance than the red-black tree.

Multimap

- Text find with Small Secondary-to-Primary Key Ratios + Text find with Small Secondary-to-Primary Key Ratios

Description

This test inserts a number of pairs into a container. The @@ -1634,7 +1634,7 @@ Observations

See Observations::Mapping-Semantics Considerations.

- Text find with Large Secondary-to-Primary Key Ratios + Text find with Large Secondary-to-Primary Key Ratios

Description

This test inserts a number of pairs into a container. The diff --git a/libstdc++-v3/doc/html/manual/policy_data_structures.html b/libstdc++-v3/doc/html/manual/policy_data_structures.html index 5c3498e5b65..cb9f2461e88 100644 --- a/libstdc++-v3/doc/html/manual/policy_data_structures.html +++ b/libstdc++-v3/doc/html/manual/policy_data_structures.html @@ -33,9 +33,9 @@

Order-Statistics
Multimap
- Text find with Small Secondary-to-Primary Key Ratios + Text find with Small Secondary-to-Primary Key Ratios
- Text find with Large Secondary-to-Primary Key Ratios + Text find with Large Secondary-to-Primary Key Ratios
Text insert with Small Secondary-to-Primary Key Ratios diff --git a/libstdc++-v3/doc/html/manual/policy_data_structures_design.html b/libstdc++-v3/doc/html/manual/policy_data_structures_design.html index ca3c2ae36d9..2b756663aa1 100644 --- a/libstdc++-v3/doc/html/manual/policy_data_structures_design.html +++ b/libstdc++-v3/doc/html/manual/policy_data_structures_design.html @@ -579,7 +579,7 @@ Only k String DNA Hash

f2(s, m) = ∑ i - = 0k - 1 si ai mod m + = 0k - 1 si ai mod m

requiring scanning over only

k = log4( m )

characters.

Other more elaborate hash-functions might scan k characters starting at a random position (determined at each resize), or scanning k random positions (determined at @@ -675,7 +675,7 @@ li, and assume uniform distribution. Then

Equation 21.7.  Probability of Probe Sequence of Length k

- p1 = + p1 =

P(l1 ≥ k) =

P(l1 ≥ α ( 1 + k / α - 1) ≤ (a)

@@ -689,7 +689,7 @@ I(.) denote the indicator function. Then

Equation 21.8.  Probability Probe Sequence in Some Bin

- P( existsi li ≥ k ) = + P( existsi li ≥ k ) =

P ( ∑ i = 1m I(li ≥ k) ≥ 1 ) =

P ( ∑ i = 1m I ( li ≥ k ) ≥ m p1 ( 1 + 1 / (m @@ -747,7 +747,7 @@ be used with mod range hashing

The graphic below gives an overall picture of the resize-related classes. basic_hash_table is parametrized by Resize_Policy, which it subclasses - publicly. This class is currently instantiated only by hash_standard_resize_policy. + publicly. This class is currently instantiated only by hash_standard_resize_policy. hash_standard_resize_policy itself is parametrized by Trigger_Policy and Size_Policy. Currently, Trigger_Policy is @@ -911,7 +911,7 @@ node_end() const; node_iterator - node_end(); + node_end();

The first pairs return node iterators corresponding to the root node of the tree; the latter pair returns node iterators corresponding to a just-after-leaf node.

Node Updator

The tree-based containers are parametrized by a @@ -928,7 +928,7 @@ The tree defines within each node a metadata_type object.

node_update must also define the following method for restoring node invariants:

-	      void 
+	      void
 	      operator()(node_iterator nd_it, const_node_iterator end_nd_it)
 	    

In this method, nd_it is a node_iterator corresponding to a node whose @@ -1021,8 +1021,8 @@ data structure to use. Instantiating it by pat_trie_tag, specifies an underlying PATRICIA trie (explained shortly); any other tag is currently illegal.

Following is a description of a (PATRICIA) trie - (this implementation follows [biblio.okasaki98mereable] and - [biblio.filliatre2000ptset]). + (this implementation follows [biblio.okasaki98mereable] and + [biblio.filliatre2000ptset]).

A (PATRICIA) trie is similar to a tree, but with the following differences:

  1. It explicitly views keys as a sequence of elements. E.g., a trie can view a string as a sequence of @@ -1174,7 +1174,7 @@ which unconditionally move an accessed element to the front of the list. The latter type is very useful in this library, since there is no need to associate metadata with each element. - (See [biblio.andrew04mtf] + (See [biblio.andrew04mtf]

Use in Multimaps

In this library, there are no equivalents for the standard's multimaps and multisets; instead one uses an associative container mapping primary keys to secondary keys.

List-based containers are especially useful as associative @@ -1219,7 +1219,7 @@ binomial_heap_tag, rc_binomial_heap_tag, or thin_heap_tag, - specifies, respectively, + specifies, respectively, an underlying pairing heap ([biblio.fredman86pairing]), binary heap ([biblio.clrs2001]), binomial heap ([biblio.clrs2001]), @@ -1376,7 +1376,7 @@ heap, and so might be more appropriate for some graph algorithms.

Of course, one can use any order-preserving associative container as a priority queue, as in the graphic above label C, possibly by creating an adapter class - over the associative container (much as + over the associative container (much as std::priority_queue can adapt std::vector). This has the advantage that no cross-referencing is necessary at all; the priority queue itself is an associative container. @@ -1390,14 +1390,14 @@ types. __gnu_pbds::priority_queue publicly defines container_category as one of the tags. Given any container Cntnr, the tag of the underlying - data structure can be found via typename + data structure can be found via typename Cntnr::container_category; this is one of the possible tags shown in the graphic below.

Figure 21.33. Priority-Queue Data-Structure Tags.

Priority-Queue Data-Structure Tags.

Additionally, a traits mechanism can be used to query a container type for its attributes. Given any container Cntnr, then

__gnu_pbds::container_traits<Cntnr>

is a traits class identifying the properties of the container.

To find if a container might throw if two of its objects are - joined, one can use + joined, one can use

 	    container_traits<Cntnr>::split_join_can_throw
 	  

diff --git a/libstdc++-v3/doc/html/manual/using_concurrency.html b/libstdc++-v3/doc/html/manual/using_concurrency.html index 1b6ebed067d..e09fc5e15bc 100644 --- a/libstdc++-v3/doc/html/manual/using_concurrency.html +++ b/libstdc++-v3/doc/html/manual/using_concurrency.html @@ -117,7 +117,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33) begin, end, rbegin, rend, front, back, data, find, lower_bound, upper_bound, - equal_range, at + equal_range, at and, except in associative or unordered associative containers, operator[]. In other words, although they are non-const so that they can return mutable iterators, those member functions @@ -142,8 +142,8 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33) int i = *global_sp; // OK, operator* is const int j = *local_sp; // OK, does not operate on global_sp - // *global_sp = 2; // NOT OK, modifies int visible to other threads - // *local_sp = 2; // NOT OK, modifies int visible to other threads + // *global_sp = 2; // NOT OK, modifies int visible to other threads + // *local_sp = 2; // NOT OK, modifies int visible to other threads // global_sp.reset(); // NOT OK, reset is non-const local_sp.reset(); // OK, does not operate on global_sp @@ -158,7 +158,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33) }

For further details of the C++11 memory model see Hans-J. Boehm's Threads - and memory model for C++ pages, particularly the introduction + and memory model for C++ pages, particularly the introduction and FAQ.

Atomics

IO

This gets a bit tricky. Please read carefully, and bear with me. diff --git a/libstdc++-v3/doc/html/manual/using_headers.html b/libstdc++-v3/doc/html/manual/using_headers.html index 0d5de91fe31..da86cf7d905 100644 --- a/libstdc++-v3/doc/html/manual/using_headers.html +++ b/libstdc++-v3/doc/html/manual/using_headers.html @@ -75,7 +75,7 @@ Including this header in earlier modes will not result in compilation errors, but will not define anything.

Table 3.11. File System TS Header

experimental/filesystem

Table 3.12, “Library Fundamentals TS Headers”, -shows the additional include files define by the C++ Extensions for +shows the additional include files define by the C++ Extensions for Library Fundamentals Technical Specification, ISO/IEC TS 19568. These are available in C++14 and later compilation modes. Including these headers in earlier modes will not result in diff --git a/libstdc++-v3/doc/xml/book.txml b/libstdc++-v3/doc/xml/book.txml index 55b050271a5..8e3f3273c34 100644 --- a/libstdc++-v3/doc/xml/book.txml +++ b/libstdc++-v3/doc/xml/book.txml @@ -2,7 +2,7 @@ - + 2007 @@ -13,7 +13,7 @@ - License + License @@ -22,7 +22,7 @@ </info> <chapter><info><title/></info> - + <para/> </chapter> </part> diff --git a/libstdc++-v3/doc/xml/chapter.txml b/libstdc++-v3/doc/xml/chapter.txml index b251c84609a..a5a9a3a8230 100644 --- a/libstdc++-v3/doc/xml/chapter.txml +++ b/libstdc++-v3/doc/xml/chapter.txml @@ -1,7 +1,7 @@ <!-- Converted by db4-upgrade version 1.0 --> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="manual.intro" xreflabel="Introduction"> - + <info><title>Introduction ISO C++ @@ -12,33 +12,33 @@

Status - + The GNU C++ ...
Setup - + The GNU C++ ...
Next1 - + The GNU C++ ...
Next2 - + The GNU C++ ... -
+
Using - + The GNU C++ ... diff --git a/libstdc++-v3/doc/xml/class.txml b/libstdc++-v3/doc/xml/class.txml index be0929b7046..8d96d2cb0fa 100644 --- a/libstdc++-v3/doc/xml/class.txml +++ b/libstdc++-v3/doc/xml/class.txml @@ -2,7 +2,7 @@
- + allocator ISO C++ @@ -31,7 +31,7 @@ - +
@@ -41,7 +41,7 @@ - +
@@ -49,19 +49,19 @@
Interface Design - + - - + +
Selecting Default Allocation Strategy - - + + @@ -77,12 +77,12 @@
Disabling Memory Caching - - + + - +
@@ -97,22 +97,22 @@
Custom Allocators - + - +
- + Bibliography -
Mutating - +
<function>swap</function> - +
Specializations - + If you call std::swap(x,y); where x and y are standard containers, then the call will automatically be replaced by a call to diff --git a/libstdc++-v3/doc/xml/manual/allocator.xml b/libstdc++-v3/doc/xml/manual/allocator.xml index d8a255ca213..1f429410eb0 100644 --- a/libstdc++-v3/doc/xml/manual/allocator.xml +++ b/libstdc++-v3/doc/xml/manual/allocator.xml @@ -1,4 +1,4 @@ -
diff --git a/libstdc++-v3/doc/xml/manual/appendix_contributing.xml b/libstdc++-v3/doc/xml/manual/appendix_contributing.xml index 4380cbbe3f1..d346b922907 100644 --- a/libstdc++-v3/doc/xml/manual/appendix_contributing.xml +++ b/libstdc++-v3/doc/xml/manual/appendix_contributing.xml @@ -1,4 +1,4 @@ - @@ -28,10 +28,10 @@
Contributor Checklist - +
Reading - + @@ -89,7 +89,7 @@
Assignment - + See the legal prerequisites for all GCC contributions. @@ -124,7 +124,7 @@
Getting Sources - + Getting write access (look for "Write after approval") @@ -132,7 +132,7 @@
Submitting Patches - + Every patch must have several pieces of information before it can be @@ -196,7 +196,7 @@
Directory Layout and Source Conventions - + The libstdc++-v3 directory in the @@ -409,7 +409,7 @@ indicate a place that may require attention for multi-thread safety.
Coding Style - + @@ -610,7 +610,7 @@ indicate a place that may require attention for multi-thread safety.
By Example - + This library is written to appropriate C++ coding standards. As such, it is intended to precede the recommendations of the GNU Coding @@ -1042,7 +1042,7 @@ indicate a place that may require attention for multi-thread safety.
Design Notes - + diff --git a/libstdc++-v3/doc/xml/manual/appendix_free.xml b/libstdc++-v3/doc/xml/manual/appendix_free.xml index dd51eae8afc..0ce92c372d8 100644 --- a/libstdc++-v3/doc/xml/manual/appendix_free.xml +++ b/libstdc++-v3/doc/xml/manual/appendix_free.xml @@ -1,4 +1,4 @@ - diff --git a/libstdc++-v3/doc/xml/manual/appendix_porting.xml b/libstdc++-v3/doc/xml/manual/appendix_porting.xml index 8eb90d18745..8f3eca8d7b8 100644 --- a/libstdc++-v3/doc/xml/manual/appendix_porting.xml +++ b/libstdc++-v3/doc/xml/manual/appendix_porting.xml @@ -1,4 +1,4 @@ - diff --git a/libstdc++-v3/doc/xml/manual/atomics.xml b/libstdc++-v3/doc/xml/manual/atomics.xml index 5bd07585d69..0018212bc87 100644 --- a/libstdc++-v3/doc/xml/manual/atomics.xml +++ b/libstdc++-v3/doc/xml/manual/atomics.xml @@ -1,4 +1,4 @@ - @@ -21,7 +21,7 @@
API Reference - + All items are declared in the standard header diff --git a/libstdc++-v3/doc/xml/manual/auto_ptr.xml b/libstdc++-v3/doc/xml/manual/auto_ptr.xml index 2321b0f5029..f01e2d491b1 100644 --- a/libstdc++-v3/doc/xml/manual/auto_ptr.xml +++ b/libstdc++-v3/doc/xml/manual/auto_ptr.xml @@ -1,4 +1,4 @@ -
diff --git a/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml b/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml index 8d97c2193e7..cce553380e1 100644 --- a/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml +++ b/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml @@ -1,4 +1,4 @@ -
@@ -39,7 +39,7 @@ Committee couldn't include everything, and so a lot of those Portability notes and known implementation limitations are as follows.
No <code>ios_base</code> - + 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. @@ -93,7 +93,7 @@ considered replaced and rewritten.
Namespace <code>std::</code> not supported - + Some care is required to support C++ compiler and or library @@ -210,7 +210,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
<code>isspace</code> from <filename class="headerfile"><cctype></filename> is a macro - + Glibc 2.0.x and 2.1.x define <ctype.h> functionality as macros @@ -488,7 +488,7 @@ particular info iostream.
Little or no wide character support - + Classes wstring and char_traits<wchar_t> are @@ -497,7 +497,7 @@ particular info iostream.
No templatized iostreams - + Classes wfilebuf and wstringstream are not supported. diff --git a/libstdc++-v3/doc/xml/manual/bitmap_allocator.xml b/libstdc++-v3/doc/xml/manual/bitmap_allocator.xml index 82fc91278da..2b052d4a247 100644 --- a/libstdc++-v3/doc/xml/manual/bitmap_allocator.xml +++ b/libstdc++-v3/doc/xml/manual/bitmap_allocator.xml @@ -1,4 +1,4 @@ - @@ -57,7 +57,7 @@
Free List Store - + The Free List Store (referred to as FLS for the remaining part of this @@ -122,7 +122,7 @@ else return false.
Super Block - + A super block is the block of memory acquired from the FLS from @@ -145,7 +145,7 @@ else return false.
Super Block Data Layout - + Each Super Block will be of some size that is a multiple of the number of Bits Per Block. Typically, this value is chosen as @@ -221,7 +221,7 @@ else return false.
Maximum Wasted Percentage - + This has nothing to do with the algorithm per-se, @@ -262,7 +262,7 @@ For map/multimap: k = 12, and c = 4 (int and double), we get: 37.524%
<function>allocate</function> - + The allocate function is specialized for single object allocation @@ -368,7 +368,7 @@ single object allocations.
<function>deallocate</function> - + The deallocate function again is specialized for single objects ONLY. For all n belonging to > 1, the operator delete is called without @@ -412,10 +412,10 @@ single object allocations.
Questions - +
1 - + Q1) The "Data Layout" section is cryptic. I have no idea of what you are trying to say. Layout of what? @@ -431,7 +431,7 @@ systems.
2 - + And since I just mentioned the term `each bitmap', what in the world is meant by it? What does each @@ -454,7 +454,7 @@ Block a bitmap as well?
3 - + How do the allocate and deallocate functions work in regard to bitmaps? @@ -495,7 +495,7 @@ Block a bitmap as well?
Locality - + Another issue would be whether to keep the all bitmaps in a separate area in memory, or to keep them near the actual blocks @@ -524,7 +524,7 @@ equivalent.
Overhead and Grow Policy - + Expected overhead per block would be 1 bit in memory. Also, once the address of the free list has been found, the cost for diff --git a/libstdc++-v3/doc/xml/manual/build_hacking.xml b/libstdc++-v3/doc/xml/manual/build_hacking.xml index e9691bd375a..36f659cea4b 100644 --- a/libstdc++-v3/doc/xml/manual/build_hacking.xml +++ b/libstdc++-v3/doc/xml/manual/build_hacking.xml @@ -55,7 +55,7 @@ The configure file is a script generated (via - After the configure process is complete, + After the configure process is complete, @@ -92,7 +92,7 @@ in the build directory starts the build process. The all targ - Regenerate all generated files by using the command + Regenerate all generated files by using the command autoreconf at the top level of the libstdc++ source directory. diff --git a/libstdc++-v3/doc/xml/manual/codecvt.xml b/libstdc++-v3/doc/xml/manual/codecvt.xml index 1db941cf64d..d6158db7c75 100644 --- a/libstdc++-v3/doc/xml/manual/codecvt.xml +++ b/libstdc++-v3/doc/xml/manual/codecvt.xml @@ -1,4 +1,4 @@ -
@@ -114,7 +114,7 @@ particular.
<type>wchar_t</type> Size - + The simple implementation detail of wchar_t's size seems to @@ -134,7 +134,7 @@ particular.
Support for Unicode - + Probably the most frequently asked question about code conversion is: "So dudes, what's the deal with Unicode strings?" @@ -242,7 +242,7 @@ mechanism may be required.
Other Issues - + In addition, multi-threaded and multi-locale environments also impact the design and requirements for code conversions. In particular, they diff --git a/libstdc++-v3/doc/xml/manual/concurrency.xml b/libstdc++-v3/doc/xml/manual/concurrency.xml index 0d3381f1a0e..62bb2aff87e 100644 --- a/libstdc++-v3/doc/xml/manual/concurrency.xml +++ b/libstdc++-v3/doc/xml/manual/concurrency.xml @@ -1,4 +1,4 @@ - @@ -25,7 +25,7 @@
API Reference - + All items are declared in one of four standard header files. diff --git a/libstdc++-v3/doc/xml/manual/concurrency_extensions.xml b/libstdc++-v3/doc/xml/manual/concurrency_extensions.xml index 663ae5eefb5..6499fda58c3 100644 --- a/libstdc++-v3/doc/xml/manual/concurrency_extensions.xml +++ b/libstdc++-v3/doc/xml/manual/concurrency_extensions.xml @@ -1,4 +1,4 @@ - @@ -12,10 +12,10 @@
Design - +
Interface to Locks and Mutexes - + The file <ext/concurrence.h> contains all the higher-level @@ -74,7 +74,7 @@ mutex and lock types defined in the header
Interface to Atomic Functions - + @@ -186,9 +186,9 @@ host hardware and operating system.
Implementation - +
Using Built-in Atomic Functions - + The functions for atomic operations described above are either implemented via compiler intrinsics (if the underlying host is @@ -276,7 +276,7 @@ hardware, hand-crafted assembly is selected. This is the case for the following
Thread Abstraction - + A thin layer above IEEE 1003.1 (i.e. pthreads) is used to abstract the thread interface for GCC. This layer is called "gthread," and is diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml index 74d6db71ab4..b84ac426244 100644 --- a/libstdc++-v3/doc/xml/manual/configure.xml +++ b/libstdc++-v3/doc/xml/manual/configure.xml @@ -1,4 +1,4 @@ -
@@ -322,7 +322,7 @@ --enable-libstdcxx-visibility - In 4.2 and later, enables or disables visibility + In 4.2 and later, enables or disables visibility attributes. If enabled (as by default), and the compiler seems capable of passing the simple sanity checks thrown at it, adjusts items in namespace std, namespace std::tr1, namespace std::tr2, @@ -348,10 +348,10 @@ --enable-extern-template[default] Use extern template to pre-instantiate all required - specializations for certain types defined in the standard libraries. + specializations for certain types defined in the standard libraries. These types include string and dependents like char_traits, the templatized IO classes, - allocator, and others. + allocator, and others. Disabling means that implicit template generation will be used when compiling these types. By default, this option is on. This option can change the library ABI. diff --git a/libstdc++-v3/doc/xml/manual/containers.xml b/libstdc++-v3/doc/xml/manual/containers.xml index 6d568164b47..e5810fa5f31 100644 --- a/libstdc++-v3/doc/xml/manual/containers.xml +++ b/libstdc++-v3/doc/xml/manual/containers.xml @@ -1,4 +1,4 @@ - @@ -17,13 +17,13 @@
Sequences - +
list - +
list::size() is O(n) - + Yes it is, at least using the old ABI, and that's okay. This is a decision that we preserved @@ -78,10 +78,10 @@
Associative - +
Insertion Hints - + Section [23.1.2], Table 69, of the C++ standard lists this function for all of the associative containers (map, set, etc): @@ -189,9 +189,9 @@
bitset - +
Size Variable - + No, you cannot write code of the form @@ -299,7 +299,7 @@
Type String - + @@ -452,10 +452,10 @@
Interacting with C - +
Containers vs. Arrays - + You're writing some code and can't decide whether to use builtin arrays or some kind of container. There are compelling reasons diff --git a/libstdc++-v3/doc/xml/manual/ctype.xml b/libstdc++-v3/doc/xml/manual/ctype.xml index d0be7fb068a..55930c1751f 100644 --- a/libstdc++-v3/doc/xml/manual/ctype.xml +++ b/libstdc++-v3/doc/xml/manual/ctype.xml @@ -1,4 +1,4 @@ -
@@ -15,7 +15,7 @@
Specializations - + For the required specialization codecvt<wchar_t, char, mbstate_t>, diff --git a/libstdc++-v3/doc/xml/manual/debug.xml b/libstdc++-v3/doc/xml/manual/debug.xml index bb018569b39..7b60b497cfc 100644 --- a/libstdc++-v3/doc/xml/manual/debug.xml +++ b/libstdc++-v3/doc/xml/manual/debug.xml @@ -1,4 +1,4 @@ -
@@ -210,7 +210,7 @@ - Two annotation macros are used to explain low-level synchronization + Two annotation macros are used to explain low-level synchronization to race detectors: _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE() and _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(). @@ -232,8 +232,8 @@ that are affected by the annotation macros, which can be done by recompiling individual files. Annotating std::string and std::wstring - reference counting can be done by disabling extern templates (by defining - _GLIBCXX_EXTERN_TEMPLATE=-1) or by rebuilding the + reference counting can be done by disabling extern templates (by defining + _GLIBCXX_EXTERN_TEMPLATE=-1) or by rebuilding the src/string-inst.cc file. Annotating the remaining atomic operations (at the time of writing these are in ios_base::Init::~Init, locale::_Impl, @@ -244,14 +244,14 @@ The approach described above is known to work with the following race detection tools: - DRD, - + Helgrind, and - + ThreadSanitizer (this refers to ThreadSanitizer v1, not the new "tsan" feature built-in to GCC itself). diff --git a/libstdc++-v3/doc/xml/manual/debug_mode.xml b/libstdc++-v3/doc/xml/manual/debug_mode.xml index 570c17ba28a..883e8cb4f03 100644 --- a/libstdc++-v3/doc/xml/manual/debug_mode.xml +++ b/libstdc++-v3/doc/xml/manual/debug_mode.xml @@ -1,4 +1,4 @@ - @@ -13,7 +13,7 @@
Intro - + By default, libstdc++ is built with efficiency in mind, and therefore performs little or no error checking that is not @@ -59,7 +59,7 @@
Semantics - + @@ -141,11 +141,11 @@ which always works correctly.
Using - +
Using the Debug Mode - + To use the libstdc++ debug mode, compile your application with the compiler flag -D_GLIBCXX_DEBUG. Note that this flag @@ -163,7 +163,7 @@ which always works correctly.
Using a Specific Debug Container - + When it is not feasible to recompile your entire application, or only specific containers need checking, debugging containers are available as GNU extensions. These debugging containers are @@ -329,11 +329,11 @@ containers have additional debug capability.
Design - +
Goals - + The libstdc++ debug mode replaces unsafe (but efficient) standard @@ -448,7 +448,7 @@ containers have additional debug capability.
Methods - + This section provides an overall view of the design of the @@ -456,7 +456,7 @@ containers have additional debug capability. decisions and the stated design goals.
The Wrapper Model - + The libstdc++ debug mode uses a wrapper model where the debugging versions of library components (e.g., iterators and containers) form a layer on top of the release versions of the @@ -479,7 +479,7 @@ containers have additional debug capability. iterator from a different container.
Safe Iterators - + Iterator wrappers provide a debugging layer over any iterator that is attached to a particular container, and will manage the information detailing the iterator's state (singular, @@ -502,7 +502,7 @@ containers have additional debug capability.
Safe Sequences (Containers) - + Container wrappers provide a debugging layer over a particular container type. Because containers vary greatly in the member @@ -551,7 +551,7 @@ template<typename _Tp, typename _Allocator = allocator<_Tp>
Precondition Checking - + The debug mode operates primarily by checking the preconditions of all standard library operations that it supports. Preconditions that are always checked (regardless of whether or not we are in debug @@ -585,7 +585,7 @@ template<typename _Tp, typename _Allocator = allocator<_Tp>
Release- and debug-mode coexistence - + The libstdc++ debug mode is the first debug mode we know of that is able to provide the "Per-use recompilation" (4) guarantee, that allows release-compiled and debug-compiled code to be linked and @@ -603,7 +603,7 @@ template<typename _Tp, typename _Allocator = allocator<_Tp> (namely, safe iterators).
Compile-time coexistence of release- and debug-mode components - + Both the release-mode components and the debug-mode components need to exist within a single translation unit so that @@ -671,7 +671,7 @@ namespace std
Link- and run-time coexistence of release- and debug-mode components - + Because each component has a distinct and separate release and debug implementation, there is no issue with link-time @@ -854,7 +854,7 @@ test02()
Other Implementations - + There are several existing implementations of debug modes for C++ diff --git a/libstdc++-v3/doc/xml/manual/diagnostics.xml b/libstdc++-v3/doc/xml/manual/diagnostics.xml index 08f576965d2..86737cc4d4d 100644 --- a/libstdc++-v3/doc/xml/manual/diagnostics.xml +++ b/libstdc++-v3/doc/xml/manual/diagnostics.xml @@ -1,4 +1,4 @@ - @@ -16,10 +16,10 @@
Exceptions - +
API Reference - + Most exception classes are defined in one of the standard headers <exception>, @@ -52,12 +52,12 @@ std::string member. A full hierarchy can be found in the source documentation. - + - +
Adding Data to <classname>exception</classname> - + The standard exception classes carry with them a single string as data (usually describing what went wrong or where the 'throw' took @@ -116,7 +116,7 @@
Concept Checking - + In 1999, SGI added concept checkers to their implementation of the STL: code which checked the template diff --git a/libstdc++-v3/doc/xml/manual/documentation_hacking.xml b/libstdc++-v3/doc/xml/manual/documentation_hacking.xml index 7db776794c2..723120808d7 100644 --- a/libstdc++-v3/doc/xml/manual/documentation_hacking.xml +++ b/libstdc++-v3/doc/xml/manual/documentation_hacking.xml @@ -1,4 +1,4 @@ -
@@ -43,7 +43,7 @@ reference. Although divergent, this conforms to the GNU Project recommendations as long as the output is of sufficient quality, as per - GNU Manuals. @@ -53,7 +53,7 @@ Generating Documentation - + Certain Makefile rules are required by the GNU Coding Standards. These standard rules generate HTML, PDF, XML, or man @@ -130,7 +130,7 @@ - + make man @@ -170,7 +170,7 @@ doc/libstdc++/libstdc++-manual.epub - + @@ -203,9 +203,9 @@
Doxygen - +
Prerequisites - + Doxygen Prerequisites @@ -265,7 +265,7 @@ the GNU coreutils. (GNU versions of find, xargs, and possibly sed and grep are used, just because the GNU versions make - things very easy.) + things very easy.) @@ -291,7 +291,7 @@
Generating the Doxygen Files - + The following Makefile rules run Doxygen to generate HTML docs, XML docs, XML docs as a single file, PDF docs, and the @@ -346,7 +346,7 @@
Debugging Generation - + Sometimes, mis-configuration of the pre-requisite tools can lead to errors when attempting to build the @@ -433,7 +433,7 @@
Markup - + In general, libstdc++ files should be formatted according to @@ -446,7 +446,7 @@ Adding Doxygen markup to a file (informally called doxygenating) is very simple. See the - Doxygen manual for details. We try to use a very-recent version of Doxygen. @@ -649,11 +649,11 @@
Docbook - +
Prerequisites - - + +
Docbook Prerequisites @@ -784,7 +784,7 @@
Generating the DocBook Files - + The following Makefile rules generate (in order): an HTML @@ -939,7 +939,7 @@ make XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwalsh" This is equivalent to doing: - + xmllint --noout --valid xml/index.xml @@ -961,7 +961,7 @@ make XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwalsh"
File Organization and Basics - + Which files are important @@ -1027,7 +1027,7 @@ make XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwalsh"
Markup By Example - + Complete details on Docbook markup can be found in the diff --git a/libstdc++-v3/doc/xml/manual/evolution.xml b/libstdc++-v3/doc/xml/manual/evolution.xml index 623d53e7faf..625202b9a06 100644 --- a/libstdc++-v3/doc/xml/manual/evolution.xml +++ b/libstdc++-v3/doc/xml/manual/evolution.xml @@ -1,4 +1,4 @@ -
diff --git a/libstdc++-v3/doc/xml/manual/internals.xml b/libstdc++-v3/doc/xml/manual/internals.xml index 09407f86c24..5b3be2d1a84 100644 --- a/libstdc++-v3/doc/xml/manual/internals.xml +++ b/libstdc++-v3/doc/xml/manual/internals.xml @@ -1,4 +1,4 @@ -
diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml index 4a5d25fa0d7..76e55980324 100644 --- a/libstdc++-v3/doc/xml/manual/intro.xml +++ b/libstdc++-v3/doc/xml/manual/intro.xml @@ -21,11 +21,11 @@ Status - +
Implementation Status - + @@ -63,7 +63,7 @@
License - + There are two licenses affecting GNU libstdc++: one for the code, and one for the documentation. @@ -75,7 +75,7 @@
The Code: GPL - + The source code is distributed under the GNU General Public License version 3, @@ -166,7 +166,7 @@ requirements of the license of GCC.
The Documentation: GPL, FDL - + The documentation shipped with the library and made available over @@ -195,10 +195,10 @@ requirements of the license of GCC.
Bugs - +
Implementation Bugs - + Information on known bugs, details on efforts to fix them, and fixed bugs are all available as part of the GCC bug tracking system, @@ -207,7 +207,7 @@ requirements of the license of GCC.
Standard Bugs - + Everybody's got issues. Even the C++ Standard Library. @@ -1285,7 +1285,7 @@ requirements of the license of GCC. Setup - + To transform libstdc++ sources into installed include files and properly built binaries useful for linking to other software is diff --git a/libstdc++-v3/doc/xml/manual/io.xml b/libstdc++-v3/doc/xml/manual/io.xml index 0c069b369e7..8380683561a 100644 --- a/libstdc++-v3/doc/xml/manual/io.xml +++ b/libstdc++-v3/doc/xml/manual/io.xml @@ -1,4 +1,4 @@ - @@ -17,7 +17,7 @@
Iostream Objects - + To minimize the time you have to wait on the compiler, it's good to only include the headers you really need. Many people simply include @@ -180,10 +180,10 @@
Stream Buffers - +
Derived streambuf Classes - + @@ -249,7 +249,7 @@
Buffering - + First, are you sure that you understand buffering? Particularly the fact that C++ may not, in fact, have anything to do with it? @@ -345,9 +345,9 @@
Memory Based Streams - +
Compatibility With strstream - + Stringstreams (defined in the header <sstream>) @@ -392,10 +392,10 @@
File Based Streams - +
Copying a File - + @@ -461,7 +461,7 @@
Binary Input and Output - + The first and most important thing to remember about binary I/O is @@ -595,11 +595,11 @@
Interacting with C - +
Using FILE* and file descriptors - + See the extensions for using FILE and file descriptors with @@ -609,7 +609,7 @@
Performance - + Pathetic Performance? Ditch C. diff --git a/libstdc++-v3/doc/xml/manual/iterators.xml b/libstdc++-v3/doc/xml/manual/iterators.xml index aab26b92e40..d0b75084e05 100644 --- a/libstdc++-v3/doc/xml/manual/iterators.xml +++ b/libstdc++-v3/doc/xml/manual/iterators.xml @@ -1,4 +1,4 @@ - @@ -16,10 +16,10 @@
Predefined - +
Iterators vs. Pointers - + The following FAQ entry points out that @@ -66,7 +66,7 @@ classes.
One Past the End - + This starts off sounding complicated, but is actually very easy, especially towards the end. Trust me. diff --git a/libstdc++-v3/doc/xml/manual/locale.xml b/libstdc++-v3/doc/xml/manual/locale.xml index c0552b4aa48..7f6a7e70688 100644 --- a/libstdc++-v3/doc/xml/manual/locale.xml +++ b/libstdc++-v3/doc/xml/manual/locale.xml @@ -1,4 +1,4 @@ -
locale @@ -106,7 +106,7 @@ portability is an issue.
Interacting with "C" locales - + diff --git a/libstdc++-v3/doc/xml/manual/localization.xml b/libstdc++-v3/doc/xml/manual/localization.xml index d05ca4d7dca..22d861ced40 100644 --- a/libstdc++-v3/doc/xml/manual/localization.xml +++ b/libstdc++-v3/doc/xml/manual/localization.xml @@ -1,4 +1,4 @@ - @@ -17,7 +17,7 @@
Locales - + @@ -27,7 +27,7 @@
Facets - + diff --git a/libstdc++-v3/doc/xml/manual/messages.xml b/libstdc++-v3/doc/xml/manual/messages.xml index 12ebd443508..b1bc4b76f07 100644 --- a/libstdc++-v3/doc/xml/manual/messages.xml +++ b/libstdc++-v3/doc/xml/manual/messages.xml @@ -1,4 +1,4 @@ -
@@ -116,7 +116,7 @@ A couple of notes on the standard. First, why is messages_base::catalog specified as a typedef to int? This makes sense for implementations that use catopen and define nl_catd as int, but not for -others. Fortunately, it's not heavily used and so only a minor irritant. +others. Fortunately, it's not heavily used and so only a minor irritant. This has been reported as a possible defect in the standard (LWG 2028). @@ -159,7 +159,7 @@ other, explicitly named locales.
Models - + This is a relatively simple class, on the face of it. The standard specifies very little in concrete terms, so generic @@ -227,7 +227,7 @@ model.
The GNU Model - + The messages facet, because it is retrieving and converting diff --git a/libstdc++-v3/doc/xml/manual/mt_allocator.xml b/libstdc++-v3/doc/xml/manual/mt_allocator.xml index e89a0145490..93504a7d711 100644 --- a/libstdc++-v3/doc/xml/manual/mt_allocator.xml +++ b/libstdc++-v3/doc/xml/manual/mt_allocator.xml @@ -1,4 +1,4 @@ - diff --git a/libstdc++-v3/doc/xml/manual/numerics.xml b/libstdc++-v3/doc/xml/manual/numerics.xml index cc2615390f2..bb1d45d6b3b 100644 --- a/libstdc++-v3/doc/xml/manual/numerics.xml +++ b/libstdc++-v3/doc/xml/manual/numerics.xml @@ -1,4 +1,4 @@ - @@ -17,11 +17,11 @@
Complex - +
complex Processing - + Using complex<> becomes even more comple- er, sorry, @@ -52,7 +52,7 @@
Generalized Operations - + @@ -95,10 +95,10 @@
Interacting with C - +
Numerics vs. Arrays - + One of the major reasons why FORTRAN can chew through numbers so well is that it is defined to be free of pointer aliasing, an assumption @@ -121,7 +121,7 @@
C99 - + In addition to the other topics on this page, we'll note here some of the C99 features that appear in libstdc++. diff --git a/libstdc++-v3/doc/xml/manual/parallel_mode.xml b/libstdc++-v3/doc/xml/manual/parallel_mode.xml index ab7d2f2b56b..cabb9d76a4c 100644 --- a/libstdc++-v3/doc/xml/manual/parallel_mode.xml +++ b/libstdc++-v3/doc/xml/manual/parallel_mode.xml @@ -1,4 +1,4 @@ - @@ -40,7 +40,7 @@ specific compiler flag.
Intro - + The following library components in the include numeric are included in the parallel mode: @@ -91,7 +91,7 @@ specific compiler flag.
Semantics - + The parallel mode STL algorithms are currently not exception-safe, i.e. user-defined functors must not throw exceptions. @@ -109,10 +109,10 @@ It might work with other compilers, though.
Using - +
Prerequisite Compiler Flags - + Any use of parallel functionality requires additional compiler @@ -140,7 +140,7 @@ In addition, hardware that supports atomic operations and a compiler
Using Parallel Mode - + To use the libstdc++ parallel mode, compile your application with @@ -165,7 +165,7 @@ In addition, hardware that supports atomic operations and a compiler
Using Specific Parallel Components - + When it is not feasible to recompile your entire application, or only specific algorithms need to be parallel-aware, individual @@ -476,11 +476,11 @@ flags for atomic operations.)
Design - +
Interface Basics - + All parallel algorithms are intended to have signatures that are @@ -549,11 +549,11 @@ overload is therefore missing.
Configuration and Tuning - +
Setting up the OpenMP Environment - + Several aspects of the overall runtime environment can be manipulated @@ -598,7 +598,7 @@ documentation for more information.
Compile Time Switches - + To force an algorithm to execute sequentially, even though parallelism @@ -675,7 +675,7 @@ merging. The quicksort options cannot be used for stable_sort.
Run Time Settings and Defaults - + The default parallelization strategy, the choice of specific algorithm @@ -769,7 +769,7 @@ int main()
Implementation Namespaces - + One namespace contain versions of code that are always explicitly sequential: @@ -803,7 +803,7 @@ the generated source documentation.
Testing - + Both the normal conformance and regression tests and the diff --git a/libstdc++-v3/doc/xml/manual/policy_data_structures.xml b/libstdc++-v3/doc/xml/manual/policy_data_structures.xml index 107018043ae..3e598105f7e 100644 --- a/libstdc++-v3/doc/xml/manual/policy_data_structures.xml +++ b/libstdc++-v3/doc/xml/manual/policy_data_structures.xml @@ -3003,7 +3003,7 @@ - + Let U be a domain (e.g., the integers, or the strings of 3 characters). A hash-table algorithm needs to map elements of U "uniformly" into the range [0,..., m - @@ -3179,7 +3179,7 @@ 0t - 1 si ai mod m - + where a is some non-negative integral value. This is the standard string-hashing function used in SGI's @@ -3202,7 +3202,7 @@ f2(s, m) = ∑ i - = 0k - 1 si ai mod m + = 0k - 1 si ai mod m @@ -3278,7 +3278,7 @@ - + If cc_hash_table's hash-functor, Hash_Fn is instantiated by null_type , then Comb_Hash_Fn is taken to be a ranged-hash function. The graphic below shows an insert sequence @@ -3298,7 +3298,7 @@ - +
@@ -3459,7 +3459,7 @@ Probability of Probe Sequence of Length k - p1 = + p1 = @@ -3486,7 +3486,7 @@ Probability Probe Sequence in Some Bin - P( existsi li ≥ k ) = + P( existsi li ≥ k ) = @@ -3640,7 +3640,7 @@ The graphic below gives an overall picture of the resize-related classes. basic_hash_table is parametrized by Resize_Policy, which it subclasses - publicly. This class is currently instantiated only by hash_standard_resize_policy. + publicly. This class is currently instantiated only by hash_standard_resize_policy. hash_standard_resize_policy itself is parametrized by Trigger_Policy and Size_Policy. Currently, Trigger_Policy is @@ -3917,7 +3917,7 @@ - + Supporting such trees is difficult for a number of reasons: @@ -3983,7 +3983,7 @@ node_end() const; node_iterator - node_end(); + node_end(); The first pairs return node iterators corresponding to the @@ -4026,7 +4026,7 @@ node_update must also define the following method for restoring node invariants: - void + void operator()(node_iterator nd_it, const_node_iterator end_nd_it) @@ -4172,7 +4172,7 @@
-
+
Split and Join @@ -4247,8 +4247,8 @@ currently illegal. Following is a description of a (PATRICIA) trie - (this implementation follows and - ). + (this implementation follows and + ). A (PATRICIA) trie is similar to a tree, but with the @@ -4615,7 +4615,7 @@ which unconditionally move an accessed element to the front of the list. The latter type is very useful in this library, since there is no need to associate metadata with each element. - (See + (See
@@ -4717,7 +4717,7 @@ binomial_heap_tag, rc_binomial_heap_tag, or thin_heap_tag, - specifies, respectively, + specifies, respectively, an underlying pairing heap (), binary heap (), binomial heap (), @@ -4819,7 +4819,7 @@ assert(p.top() == 3); - + It should be noted that an alternative design could embed an associative container in a priority queue. Could, but most probably should not. To begin with, it should be noted that one @@ -4944,7 +4944,7 @@ Of course, one can use any order-preserving associative container as a priority queue, as in the graphic above label C, possibly by creating an adapter class - over the associative container (much as + over the associative container (much as std::priority_queue can adapt std::vector). This has the advantage that no cross-referencing is necessary at all; the priority queue itself is an associative container. @@ -4969,7 +4969,7 @@ types. __gnu_pbds::priority_queue publicly defines container_category as one of the tags. Given any container Cntnr, the tag of the underlying - data structure can be found via typename + data structure can be found via typename Cntnr::container_category; this is one of the possible tags shown in the graphic below. @@ -4994,7 +4994,7 @@ container. To find if a container might throw if two of its objects are - joined, one can use + joined, one can use container_traits<Cntnr>::split_join_can_throw diff --git a/libstdc++-v3/doc/xml/manual/prerequisites.xml b/libstdc++-v3/doc/xml/manual/prerequisites.xml index aa677647555..22e90a7e79d 100644 --- a/libstdc++-v3/doc/xml/manual/prerequisites.xml +++ b/libstdc++-v3/doc/xml/manual/prerequisites.xml @@ -1,4 +1,4 @@ -
diff --git a/libstdc++-v3/doc/xml/manual/shared_ptr.xml b/libstdc++-v3/doc/xml/manual/shared_ptr.xml index 24e275e95eb..06fc662e6ef 100644 --- a/libstdc++-v3/doc/xml/manual/shared_ptr.xml +++ b/libstdc++-v3/doc/xml/manual/shared_ptr.xml @@ -1,4 +1,4 @@ -
@@ -60,7 +60,7 @@ technique known as type erasure.
Class Hierarchy - + A shared_ptr<T> contains a pointer of @@ -156,7 +156,7 @@ deprecated in C++11 mode.
Thread Safety - + The Thread @@ -214,7 +214,7 @@ Policy below for details.
Selecting Lock Policy - + @@ -351,7 +351,7 @@ be private.
Examples - + Examples of use can be found in the testsuite, under testsuite/tr1/2_general_utilities/shared_ptr, @@ -362,7 +362,7 @@ be private.
Unresolved Issues - + The shared_ptr atomic access clause in the C++11 standard is not implemented in GCC. diff --git a/libstdc++-v3/doc/xml/manual/spine.xml b/libstdc++-v3/doc/xml/manual/spine.xml index 4db3037ac4d..34daa33344c 100644 --- a/libstdc++-v3/doc/xml/manual/spine.xml +++ b/libstdc++-v3/doc/xml/manual/spine.xml @@ -1,4 +1,4 @@ - diff --git a/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml b/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml index b9e415d21ac..021cb6394a7 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml @@ -1,4 +1,4 @@ -
diff --git a/libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml b/libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml index 92d892da8ac..139b94442e8 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml @@ -1,4 +1,4 @@ -
diff --git a/libstdc++-v3/doc/xml/manual/strings.xml b/libstdc++-v3/doc/xml/manual/strings.xml index 1c7ab4ca706..e9d4c8ce347 100644 --- a/libstdc++-v3/doc/xml/manual/strings.xml +++ b/libstdc++-v3/doc/xml/manual/strings.xml @@ -1,4 +1,4 @@ - @@ -16,10 +16,10 @@
String Classes - +
Simple Transformations - + Here are Standard, simple, and portable ways to perform common transformations on a string instance, such as @@ -115,7 +115,7 @@
Case Sensitivity - + @@ -166,7 +166,7 @@
Arbitrary Character Types - + @@ -238,7 +238,7 @@
Tokenizing - + The Standard C (and C++) function strtok() leaves a lot to @@ -337,7 +337,7 @@ stringtok(Container &container, string const &in,
Shrink to Fit - + From GCC 3.4 calling s.reserve(res) on a @@ -365,7 +365,7 @@ stringtok(Container &container, string const &in,
CString (MFC) - + diff --git a/libstdc++-v3/doc/xml/manual/support.xml b/libstdc++-v3/doc/xml/manual/support.xml index da8fed0e015..f4b41664f60 100644 --- a/libstdc++-v3/doc/xml/manual/support.xml +++ b/libstdc++-v3/doc/xml/manual/support.xml @@ -1,4 +1,4 @@ - diff --git a/libstdc++-v3/doc/xml/manual/test.xml b/libstdc++-v3/doc/xml/manual/test.xml index 19bc9e81ff3..ee00b06e385 100644 --- a/libstdc++-v3/doc/xml/manual/test.xml +++ b/libstdc++-v3/doc/xml/manual/test.xml @@ -1,4 +1,4 @@ -
@@ -235,7 +235,7 @@ cat 27_io/objects/char/3_xin.in | a.out
Basic - + You can check the status of the build without installing it @@ -275,7 +275,7 @@ cat 27_io/objects/char/3_xin.in | a.out
Variations - + There are several options for running tests, including testing the regression tests, testing a subset of the regression tests, @@ -552,7 +552,7 @@ cat 27_io/objects/char/3_xin.in | a.out
Permutations - + The tests will be compiled with a set of default compiler flags defined by the diff --git a/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml b/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml index ea35efa22b9..cb5b016569a 100644 --- a/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml +++ b/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml @@ -3835,7 +3835,7 @@
- Text <function>find</function> with Small Secondary-to-Primary Key Ratios + Text <function>find</function> with Small Secondary-to-Primary Key Ratios @@ -4299,7 +4299,7 @@
- Text <function>find</function> with Large Secondary-to-Primary Key Ratios + Text <function>find</function> with Large Secondary-to-Primary Key Ratios diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml index 60c5238555e..24543e9526e 100644 --- a/libstdc++-v3/doc/xml/manual/using.xml +++ b/libstdc++-v3/doc/xml/manual/using.xml @@ -1,10 +1,10 @@ - Using
Command Options - + The set of features available in the GNU C++ library is shaped by several GCC @@ -107,7 +107,7 @@ -fopenmp For parallel mode. - + -ltbb Linking to tbb (Thread Building Blocks) is required for use of the @@ -115,7 +115,7 @@ <execution>. - + @@ -125,10 +125,10 @@
Headers - +
Header Files - + The C++ standard specifies the entire set of header files that @@ -523,7 +523,7 @@ compilation errors, but will not define anything. , -shows the additional include files define by the C++ Extensions for +shows the additional include files define by the C++ Extensions for Library Fundamentals Technical Specification, ISO/IEC TS 19568. These are available in C++14 and later compilation modes. Including these headers in earlier modes will not result in @@ -822,7 +822,7 @@ compiler supports scalar decimal floating-point types defined via
Mixing Headers - + A few simple rules. @@ -865,7 +865,7 @@ same translation unit:
The C Headers and <code>namespace std</code> - + The standard specifies that if one includes the C-style header @@ -892,7 +892,7 @@ and std::sinl.
Precompiled Headers - + There are three base header files that are provided. They can be @@ -973,7 +973,7 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe
Macros - + All library macros begin with _GLIBCXX_. @@ -1290,10 +1290,10 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe
Namespaces - +
Available Namespaces - + @@ -1334,7 +1334,7 @@ details that are not intended for users to refer to directly, these include
namespace std - + @@ -1360,7 +1360,7 @@ cases where the qualified verbiage becomes unwieldy.)
Using Namespace Composition - + Best practice in programming suggests sequestering new data or @@ -1407,10 +1407,10 @@ namespace gtk
Linking - +
Almost Nothing - + Or as close as it gets: freestanding. This is a minimal configuration, with only partial support for the standard @@ -1514,7 +1514,7 @@ namespace gtk
Finding Dynamic or Shared Libraries - + If the only library built is the static library @@ -1638,7 +1638,7 @@ A quick read of the relevant part of the GCC
Concurrency - + This section discusses issues surrounding the proper compilation of multithreaded applications which use the Standard C++ @@ -1647,7 +1647,7 @@ A quick read of the relevant part of the GCC
Prerequisites - + All normal disclaimers aside, multithreaded C++ application are only supported when libstdc++ and all user code was built with @@ -1686,7 +1686,7 @@ A quick read of the relevant part of the GCC
Thread Safety - + In the terms of the 2011 C++ standard a thread-safe program is one which @@ -1803,7 +1803,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33) begin, end, rbegin, rend, front, back, data, find, lower_bound, upper_bound, - equal_range, at + equal_range, at and, except in associative or unordered associative containers, operator[]. In other words, although they are non-const so that they can return mutable iterators, those member functions @@ -1831,8 +1831,8 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33) int i = *global_sp; // OK, operator* is const int j = *local_sp; // OK, does not operate on global_sp - // *global_sp = 2; // NOT OK, modifies int visible to other threads - // *local_sp = 2; // NOT OK, modifies int visible to other threads + // *global_sp = 2; // NOT OK, modifies int visible to other threads + // *local_sp = 2; // NOT OK, modifies int visible to other threads // global_sp.reset(); // NOT OK, reset is non-const local_sp.reset(); // OK, does not operate on global_sp @@ -1849,24 +1849,24 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33) For further details of the C++11 memory model see Hans-J. Boehm's Threads - and memory model for C++ pages, particularly the introduction + and memory model for C++ pages, particularly the introduction and FAQ.
Atomics - +
IO - + This gets a bit tricky. Please read carefully, and bear with me.
Structure - + A wrapper type called __basic_file provides our abstraction layer for the std::filebuf classes. Nearly all decisions dealing @@ -1880,7 +1880,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
Defaults - + The __basic_file type is simply a collection of small wrappers around the C stdio layer (again, see the link under Structure). We do no locking ourselves, but simply pass through to calls to fopen, @@ -1911,7 +1911,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
Future - + A second choice may be available for I/O implementations: libio. This is disabled by default, and in fact will not currently work due to other @@ -1944,7 +1944,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
Alternatives - + Don't forget that other cstdio implementations are possible. You could easily write one to perform your own forms of locking, to solve your "interesting" problems. @@ -1954,7 +1954,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
Containers - + This section discusses issues surrounding the design of multithreaded applications which use Standard C++ containers. diff --git a/libstdc++-v3/doc/xml/manual/using_exceptions.xml b/libstdc++-v3/doc/xml/manual/using_exceptions.xml index 485b269a59e..32bff85549f 100644 --- a/libstdc++-v3/doc/xml/manual/using_exceptions.xml +++ b/libstdc++-v3/doc/xml/manual/using_exceptions.xml @@ -1,4 +1,4 @@ -
@@ -451,7 +451,7 @@ is called. Error and Exception Handling - + DavidAbrahams @@ -468,7 +468,7 @@ is called. Exception-Safety in Generic Components - + DavidAbrahams diff --git a/libstdc++-v3/doc/xml/manual/utilities.xml b/libstdc++-v3/doc/xml/manual/utilities.xml index 469d85f4109..e155c8c3943 100644 --- a/libstdc++-v3/doc/xml/manual/utilities.xml +++ b/libstdc++-v3/doc/xml/manual/utilities.xml @@ -1,4 +1,4 @@ - @@ -17,7 +17,7 @@
Functors - + If you don't know what functors are, you're not alone. Many people get slightly the wrong idea. In the interest of not reinventing the wheel, we will refer you to the introduction to the functor @@ -30,7 +30,7 @@
Pairs - + The pair<T1,T2> is a simple and handy way to carry around a pair of objects. One is of type T1, and another of type T2; they may be the same type, but you don't get anything @@ -85,7 +85,7 @@
Memory - + Memory contains three general areas. First, function and operator calls via new and delete @@ -111,7 +111,7 @@
Traits - +