X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Fdoc%2Fhtml%2Fmanual%2Fext_compile_checks.html;fp=libstdc%2B%2B-v3%2Fdoc%2Fhtml%2Fmanual%2Fext_compile_checks.html;h=132c8b61994bc2508c252f96e30aa2d04deecaf7;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=0000000000000000000000000000000000000000;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libstdc++-v3/doc/html/manual/ext_compile_checks.html b/libstdc++-v3/doc/html/manual/ext_compile_checks.html new file mode 100644 index 00000000..132c8b61 --- /dev/null +++ b/libstdc++-v3/doc/html/manual/ext_compile_checks.html @@ -0,0 +1,40 @@ + + +
+ Also known as 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 has been + 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 from 3.0 to 3.4 (the
+ latest release at the time of writing).
+ They can be enabled at configure time with
+ --enable-concept-checks
.
+ You can enable them on a per-translation-unit basis with
+ #define _GLIBCXX_CONCEPT_CHECKS
for GCC 3.4 and higher
+ (or with #define _GLIBCPP_CONCEPT_CHECKS
for versions
+ 3.1, 3.2 and 3.3).
+
Please note that the upcoming C++ standard has first-class + support for template parameter constraints based on concepts in the core + language. This will obviate the need for the library-simulated concept + checking described above. +