8.4. HistoryThere is a long history of intentional compile time error generation in C++. As mentioned in Chapter 1, the very first C++ template metaprogram was a novelty written by Erwin Unruh that printed a series of prime numbers in template error messages [Unruh94]! We first heard of the idea of encoding readable error messages in the names of types and functions from Dietmar Kuehl in 1998. By 2000, BOOST_STATIC_ASSERT [Mad00] had appeared and there were at least two efforts applying Kuehl's technique to improve error messages generated by STL implementations: "Static Interfaces" by Brian McNamara and Yannis Smaragdakis [MS00a] and the "Boost Concept Checking Library" by Jeremy Siek [SL00]. |