From: Jonathan Wakely
7.6.
How do I get a copy of the ISO C++ Standard?
- Copies of the full ISO 14882 standard are available on line via - the ISO mirror site for committee members. Non-members, or those - who have not paid for the privilege of sitting on the committee - and sustained their two-meeting commitment for voting rights, may - get a copy of the standard from their respective national - standards organization. In the USA, this national standards - organization is ANSI and their website is - right here. (And if - you've already registered with them, clicking this link will take - you to directly to the place where you can - buy the standard on-line. -
- Who is your country's member body? Visit the - ISO homepage and find out! -
- The 2003 version of the standard (the 1998 version plus TC1) is - available in print, ISBN 0-470-84674-7. + Please refer to the Contributing + section in our manual.
7.7.
What's an ABI and why is it so messy?
diff --git a/libstdc++-v3/doc/html/index.html b/libstdc++-v3/doc/html/index.html index 1466567e305..15dc624e7f8 100644 --- a/libstdc++-v3/doc/html/index.html +++ b/libstdc++-v3/doc/html/index.html @@ -146,7 +146,7 @@ C++11 Requirements Test Sequence Descriptions
vector::at
, deque::at
, string::at
std::char_traits<char>::eof
string::clear
ostream::form
and istream::scan
extensions
-basic_stringbuf
, basic_stringstream
ios::nocreate/ios::noreplace
.
+basic_stringbuf
, basic_stringstream
ios::nocreate/ios::noreplace
.
stream::attach(int fd)
vector::at
, deque::at
, string::at
std::char_traits<char>::eof
string::clear
ostream::form
and istream::scan
extensions
-basic_stringbuf
, basic_stringstream
ios::nocreate/ios::noreplace
.
+basic_stringbuf
, basic_stringstream
ios::nocreate/ios::noreplace
.
stream::attach(int fd)
The library working group bugs, and known defects, can be obtained here: diff --git a/libstdc++-v3/doc/html/manual/appendix_porting.html b/libstdc++-v3/doc/html/manual/appendix_porting.html index 165c37d7419..16b154f21ac 100644 --- a/libstdc++-v3/doc/html/manual/appendix_porting.html +++ b/libstdc++-v3/doc/html/manual/appendix_porting.html @@ -18,7 +18,7 @@ C++11 Requirements Test Sequence Descriptions
vector::at
, deque::at
, string::at
std::char_traits<char>::eof
string::clear
ostream::form
and istream::scan
extensions
-basic_stringbuf
, basic_stringstream
ios::nocreate/ios::noreplace
.
+basic_stringbuf
, basic_stringstream
ios::nocreate/ios::noreplace
.
stream::attach(int fd)
A more formal description of the V3 goals can be found in the official design document. -
Portability notes and known implementation limitations are as follows.
The pre-ISO C++ headers +
Portability notes and known implementation limitations are as follows.
The pre-ISO C++ headers
(<iostream.h>
,
<defalloc.h>
etc.) are
- available, unlike previous libstdc++ versions, but inclusion
- generates a warning that you are using deprecated headers.
-
This compatibility layer is constructed by including the
- standard C++ headers, and injecting any items in
- std::
into the global namespace.
-
For those of you new to ISO C++ (welcome, time travelers!), no, - that isn't a typo. Yes, the headers really have new names. - Marshall Cline's C++ FAQ Lite has a good explanation in What's + not supported. +
For those of you new to ISO C++ (welcome, time travelers!), the + ancient pre-ISO headers have new names. + The C++ FAQ has a good explanation in What's the difference between <xxx> and <xxx.h> headers?. -
Some include adjustment may be required. What follows is an
-autoconf test that defines PRE_STDCXX_HEADERS
when they
-exist.
-# AC_HEADER_PRE_STDCXX -AC_DEFUN([AC_HEADER_PRE_STDCXX], [ - AC_CACHE_CHECK(for pre-ISO C++ include files, - ac_cv_cxx_pre_stdcxx, - [AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -Wno-deprecated" - - # Omit defalloc.h, as compilation with newer compilers is problematic. - AC_TRY_COMPILE([ - #include <new.h> - #include <iterator.h> - #include <alloc.h> - #include <set.h> - #include <hashtable.h> - #include <hash_set.h> - #include <fstream.h> - #include <tempbuf.h> - #include <istream.h> - #include <bvector.h> - #include <stack.h> - #include <rope.h> - #include <complex.h> - #include <ostream.h> - #include <heap.h> - #include <iostream.h> - #include <function.h> - #include <multimap.h> - #include <pair.h> - #include <stream.h> - #include <iomanip.h> - #include <slist.h> - #include <tree.h> - #include <vector.h> - #include <deque.h> - #include <multiset.h> - #include <list.h> - #include <map.h> - #include <algobase.h> - #include <hash_map.h> - #include <algo.h> - #include <queue.h> - #include <streambuf.h> - ],, - ac_cv_cxx_pre_stdcxx=yes, ac_cv_cxx_pre_stdcxx=no) - CXXFLAGS="$ac_save_CXXFLAGS" - AC_LANG_RESTORE - ]) - if test "$ac_cv_cxx_pre_stdcxx" = yes; then - AC_DEFINE(PRE_STDCXX_HEADERS,,[Define if pre-ISO C++ header files are present. ]) - fi -]) -
Porting between pre-ISO headers and ISO headers is simple: headers +
Porting between pre-ISO headers and ISO headers is simple: headers
like <vector.h>
can be replaced with <vector>
and a using
directive using namespace std;
can be put at the global
scope. This should be enough to get this code compiling, assuming the
diff --git a/libstdc++-v3/doc/html/manual/index.html b/libstdc++-v3/doc/html/manual/index.html
index e6a54b5ef89..2d6fbbafe48 100644
--- a/libstdc++-v3/doc/html/manual/index.html
+++ b/libstdc++-v3/doc/html/manual/index.html
@@ -127,7 +127,7 @@ C++11 Requirements Test Sequence Descriptions
vector::at
, deque::at
, string::at
std::char_traits<char>::eof
string::clear
ostream::form
and istream::scan
extensions
-basic_stringbuf
, basic_stringstream
ios::nocreate/ios::noreplace
.
stream::attach(int fd)
__cpp_lib_has_unique_object_representations >= 201606
__cpp_lib_default_order >= 201606
<chrono>
__cpp_lib_has_unique_object_representations >= 201606
<chrono>
__cpp_lib_scoped_lock >= 201703
Table 1.6. C++ Technical Specifications Implementation Status
Paper | Title | Status | Comments |
---|---|---|---|
+ | 7 | __cpp_lib_scoped_lock >= 201703 | |
+ + P0298R3 + + | 7 | ??? |
Table 1.6. C++ Technical Specifications Implementation Status
Paper | Title | Status | Comments |
---|---|---|---|
N4076
diff --git a/libstdc++-v3/doc/html/manual/streambufs.html b/libstdc++-v3/doc/html/manual/streambufs.html
index c6f311e7802..0dddd929e37 100644
--- a/libstdc++-v3/doc/html/manual/streambufs.html
+++ b/libstdc++-v3/doc/html/manual/streambufs.html
@@ -53,9 +53,10 @@
return 0;
}
Try it yourself! More examples can be found in 3.1.x code, in
- First, are you sure that you understand buffering? Particularly the fact that C++ may not, in fact, have anything to do with it? The rules for buffering can be a little odd, but they aren't any diff --git a/libstdc++-v3/doc/html/manual/using_concurrency.html b/libstdc++-v3/doc/html/manual/using_concurrency.html index c30cd661fcc..b404027e7e2 100644 --- a/libstdc++-v3/doc/html/manual/using_concurrency.html +++ b/libstdc++-v3/doc/html/manual/using_concurrency.html @@ -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. This gets a bit tricky. Please read carefully, and bear with me.
diff --git a/libstdc++-v3/doc/xml/faq.xml b/libstdc++-v3/doc/xml/faq.xml
index db676267b67..340ba9db34b 100644
--- a/libstdc++-v3/doc/xml/faq.xml
+++ b/libstdc++-v3/doc/xml/faq.xml
@@ -1177,7 +1177,8 @@
|