The C++ language currently supports two facilities for testing software assertions: the assert macro and the #error preprocessor directive. Neither of these facilities is appropriate for use in template libraries.
Explains ways to allow >> to be treated as two closing angle brackets, as well as to discuss the resulting issues. A specific option is proposed along with wording that would implement the proposal in the current working paper.
Concepts introduce a type system for templates that makes templates easier to use and easier to write. By checking the requirements that templates place on their parameters prior to template instantiation, concepts can eliminate the spectacularly poor...
A number of compilers allow the programmer to suppress the implicit instantiation of templates by prefixing an explicit instantiation directive with the extern keyword. This document proposes specific semantics for this feature.
Proposes integrating a memory model suitable for multithreaded execution in the C++ Standard. On top of that model, a standard threading library is proposed.
This proposal describes a small assertion sub-language that unifies compile-time and run-time assertions. The benefits are among others a higher degree of self-documenting source code, better design tools, and easier debugging and testing.
Suggests extending C++ with a decltype operator for querying the type of an expression. Also suggests a new function declaration syntax, which allows one to place the return type expression syntactically after the list of function parameters.
This paper proposes a module mechanism (somewhat similar to that of Modula-2) with three primary goals: significantly improve build times of large projects, enable a better separation between interface and implementation, and provide a viable transiti...