Regarding 'template <> using' to get a first-class object for a callback template instantiation: http://gcc.gnu.org/gcc-4.5/cxx0x_status.html ...template aliases aren't supported by the current GCC 4.5 drop anyway.