Prof. Emo Welzl and Prof. Bernd Gärtner
|Mittagsseminar Talk Information|
Date and Time: Tuesday, November 03, 2009, 12:15 pm
Duration: This information is not available in the database
Location: OAT S15/S16/S17
Speaker: Yves Brise
Templates are a programming technique that lets the programmer define functions and classes in a generic way. This allows functions and classes to work with different data types, without the need to rewrite each one of them. The compiler will produce the actual code for the programmer. That is what templates were initially intended for. Then, in 1994, Erwin Unruh circulated a short C++ program that did something unexpected. Let me surprise you... This discovery has spawned the whole new field of so-called Template Metaprogramming (TMP). In this talk, I will try to show you some aspects of TMP, first and foremost, how a Template Metaprogram can simulate a universal Turing machine. If time permits, I will also talk about a practical application of C++ Templates to sparse vectors. In particular, if the sparsity patterns of the involved vectors are known at compile time, then very efficient code can be generated for operations on these vectors. I will give a short introduction on templates, but I can't help but assume a certain familiarity with C++ programming (or programming in general at least).
The material in this talk is mainly based on a paper by Todd Veldhuizen (Turing completeness, 2003) and a paper by Jaakko Järvi (sparse vectors, 1997).
Automatic MiSe System Software Version 1.4803M | admin login