My first step in C++ meta-programming