From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html | 50 +++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html (limited to 'libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html') diff --git a/libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html b/libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html new file mode 100644 index 000000000..6a67bef7c --- /dev/null +++ b/libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html @@ -0,0 +1,50 @@ + + +Concept Checking

+ In 1999, SGI added concept checkers to their + implementation of the STL: code which checked the template + parameters of instantiated pieces of the STL, in order to insure + that the parameters being used met the requirements of the + standard. For example, the Standard requires that types passed as + template parameters to vector be + "Assignable" (which means what you think it means). The + checking was done during compilation, and none of the code was + executed at runtime. +

+ Unfortunately, the size of the compiler files grew significantly + as a result. The checking code itself was cumbersome. And bugs + were found in it on more than one occasion. +

+ The primary author of the checking code, Jeremy Siek, had already + started work on a replacement implementation. The new code was + formally reviewed and accepted into + the + Boost libraries, and we are pleased to incorporate it into the + GNU C++ library. +

+ The new version imposes a much smaller space overhead on the generated + object file. The checks are also cleaner and easier to read and + understand. +

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

+ Please note that the checks are based on the requirements in the original + C++ standard, some of which have changed in the upcoming C++0x revision. + Additionally, some correct code might be rejected by the concept checks, + for example template argument types may need to be complete when used in + a template definition, rather than at the point of instantiation. + There are no plans to address these shortcomings. +

-- cgit v1.2.3