Department of Computer Science | Institute of Theoretical Computer Science | CADMO

Theory of Combinatorial Algorithms

Prof. Emo Welzl and Prof. Bernd Gärtner

Mittagsseminar (in cooperation with A. Steger, D. Steurer and B. Sudakov)

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

C++ Templates are Turing complete

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).

Upcoming talks     |     All previous talks     |     Talks by speaker     |     Upcoming talks in iCal format (beta version!)

Previous talks by year:   2024  2023  2022  2021  2020  2019  2018  2017  2016  2015  2014  2013  2012  2011  2010  2009  2008  2007  2006  2005  2004  2003  2002  2001  2000  1999  1998  1997  1996  

Information for students and suggested topics for student talks

Automatic MiSe System Software Version 1.4803M   |   admin login