my c++ template