Today's lecture elaborates the idea of generic programming as "programming with concepts" and how several C++ features combine to support generic programming. Examples from STL and, mainly, BGL illustrate the main points. Chapter 2 of the BGL book provides overviews and illustrations of the most important issues, especially concepts and models; associated types and trait classes; concept checking; and namespace and argument dependent lookup rules (Koenig lookup). |