I have come across this piece of code (I\'m trying to include all details in case I\'m missing something):
template< typename TYPE = TYPE_with_an_arbitrar
These are default template arguments. You can use template default arguments to simplify their usage.
When you have two template parameters, for example, and give the last one a default type, you must specify only one type.
std::vector, for example, is defined as
template < class T, class Allocator = allocator > class vector;
Here you have a default template argument for Allocator, so you can define vectors with just one argument
std::vector v;