2 Topics
The following is a tentative list of topics discussed during the course:
-
Motivation for genericity, software components, reuse
- Some necessary C++ background relevant for generic programming
- The design principles of the STL part of the C++ standard library
- Process of generic programming
- Concept taxonomies in library design
- Concepts as constraints to type parameters
- Performance of generic code (and how to measure it)
- Analyzing language features that support generic programming
(we look at languages such as C#, Java, Haskell, ...)
- Dissecting the Boost Graph Library
- Metaprogramming (Boost Metaprogramming Library, Expression Templates, MetaOCaml, ...)
- Generative programming
- C++ “concepts” — constrained generics in C++