http://www.cplusplus.com/doc/tutorial/functions2/ Bottom of the page.
I can see the advantage with the first type of template...reduced code...but I can't quite understand in what circumstance that the Non-type template would be useful.
(Though I'm also struggling with the multiple argument template template <class T, class U> as I don't understand the point of that either when the template <class T> works just as well. )