>HP gives this mangling: _ZN1AplEv >Guess the vote here is "pl". Yes, but we can't demangle template expressions: _Z1fILi1EEv1BIXplT_EE template <int T> struct B{}; template <int T> void f(B<+T> x) {} // Is this reasonable?? int main() { B<+1> b; f<1>(b); } (I suppose we could look ahead for the "E" and determine it is unary?)