p15 in c++, p16 template