UPDATE: Adding a new concept
UPDATE 24/Apr/2013: Fixing concept 3
The new C++ standard, namely C++11, is here at last; offering many additions to the language’s core as well as in the companion library, the STL. Without doubt it will change the way we think and work but nobody can predict if it is for better or worst. The experimentation period is nearly over, only a handful of features missing from GCC and clang and the C++ engineers will have to learn and master the new tricks in both fronts (core and STL). For those familiar with boost library the second front should be an easy transaction to the new STL, for the first though we need tutorials and lots of them. This little article is one tutorial that extends the already published ones.
One of the new cool features is the variadic templates, simply put, templates with variable number of template parameters. To put it into context this is a variadic template:
template<typename... Types> struct Foo{};