C++ Template Meta Programming Library