new c++ templates examples