C++ Template Meta Programming Book Example