History

An earlier version of this concept checking system was developed by the author while working at SGI in their C++ compiler and library group. The earlier version is now part of the SGI STL distribution. The boost concept checking library differs from the concept checking in the SGI STL in that the definition of concept checking classes has been greatly simplified, at the price of less helpful verbiage in the error messages.

Publications

Acknowledgements

The idea to use function pointers to cause instantiation is due to Alexander Stepanov. I am not sure of the origin of the idea to use expressions to do up-front checking of templates, but it did appear in D&E[ 2]. Thanks to Matt Austern for his excellent documentation and organization of the STL concepts, upon which these concept checks are based. Thanks to Boost members for helpful comments and reviews.